IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sqoop import 数据同步到hive的用法 -> 正文阅读

[大数据]sqoop import 数据同步到hive的用法

1、sqoop 的通用参数

在这里插入图片描述

2、import 的参数

在这里插入图片描述

3、第一个同步案例:简单同步

    sqoop import --connect jdbc:oracle:thin:@ip:1521/服务名 --username 用户名 --password 密码 --table F_L_C_PROJECT_PARAM --num-mappers 1  --fields-terminated-by "|" --hive-import --hive-table wxwy.f_l_c_project_param --hive-overwrite  --hive-drop-import-delims 

--connect jdbc:oracle:thin:@ip:1521/服务名 --username 用户名 --password 密码 连接的Oracle的连接串 (Oracle数据同步到hive)
table F_L_C_PROJECT_PARAM 是Oracle的表名,
--num-mappers 1 使用1一个map任务并行导入数据
--fields-terminated-by "|" 生成的HDFS文件字段间的以|为分隔符
--hive-table wxwy.f_l_c_project_param 入库目标
--hive-overwrite 对目标表的数据进行覆盖
--hive-drop-import-delims 将数据导入到hive时,去掉其中的\n,\r,\001等特殊字符

对应的建表语句为

CREATE TABLE wxwy.F_L_C_PROJECT_PARAM
(   
UNIQUE_KEY STRING,
CITY_NAME STRING,
COMPANY_ID DOUBLE
 )
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 
 WITH SERDEPROPERTIES ('field.delim'='|', 'serialization.format'='|') 
 TBLPROPERTIES ('serialization.null.format'='')

4、第二个案例:同步到分区表

   sqoop import --connect jdbc:oracle:thin:@ip:1521/服务名 --username 用户名 --password 用户密码 --table LTE_CELL_HIGHTRAFFIC_PRE --num-mappers 1  --fields-terminated-by "&" --hive-import --hive-table wxwy.lte_cell_hightraffic_pre --target-dir /user/hive/warehouse/wxwy.db/lte_cell_hightraffic_pre/partitionday=20220224

--connect jdbc:oracle:thin:@ip:1521/服务名 --username 用户名 --password 密码 连接的Oracle的连接串 (Oracle数据同步到hive)
table LTE_CELL_HIGHTRAFFIC_PRE 是Oracle的表名,
--num-mappers 1 使用1一个map任务并行导入数据
--fields-terminated-by "&" 生成的HDFS文件字段间的以&为分隔符
--hive-table wxwy.lte_cell_hightraffic_pre 目标表
--target-dir /user/hive/warehouse/wxwy.db/lte_cell_hightraffic_pre/partitionday=20220224 指定分区表的入库路径

对应的建表语句为

CREATE TABLE wxwy.lte_cell_hightraffic_pre 
(   
dn                          STRING,
sctpassoc_uk                STRING,
sctpassoc_name              STRING,
managedelement_uk           STRING,
sig_nbrsctpunavailable      DOUBLE,
start_time                  STRING,
end_time                    STRING,
rmuid                       STRING
 )
 PARTITIONED BY 
 (   
 partitionday STRING ) 
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '&' 
 WITH SERDEPROPERTIES ('field.delim'='&', 'serialization.format'='&') 
 TBLPROPERTIES ('serialization.null.format'='')

5、注意事项

注意1:源表的表名大写,目标表的表名小写。

注意2:建表时的分割符需要与文件分隔符保持一致。

注意3:如果需要修改表的分隔符,你直接把原先的表drop 掉重建是不起作用的,发现还是第一次建表时的分隔符。此时需要将HDFS 表名所在的目录删除,再重新建表,分隔符才会被真正修改过来。

注意4:sqoop import 后如果查询不到数据,首先查看HDFS文件有没有,hdfs hdfs -ls /user/hive/warehouse/wxwy.db/lte_cell_hightraffic_pre若lte_cell_hightraffic_pre下面没有文件,说明没有同步成功,核查问题并重新同步。若有文件,分区表还需要添加分区才能查到

alter table lte_cell_hightraffic_pre add partition(partitionday='20220224') location '/user/hive/warehouse/wxwy.db/lte_cell_hightraffic_pre/partitionday=20220224
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:37:32  更:2022-02-26 11:39:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:33:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码