sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
sqoop 導入數據到hive
1.1.導入數據到hive分區表(內表),指定分區
創建hive分區表
–hive-database 指定數據庫
–table 指定表
–hive-overwrite 覆蓋已有表中的數據
從mysql導入數據到hive,導入的hive的默認數據庫
bin/sqoop import --connect jdbc:mysql://180.150.180.120:3306/mcd --username crawl --password crawl123 --table xin_bang_data --hive-import --m 1
從msyql導入hive,導入到指定數據庫
bin/sqoop import --connect jdbc:mysql://180.150.180.120:3306/mcd --username crawl --password crawl123 --table xin_bang_data --hive-import --hive-overwrite --hive-database=tmp --m 1
導入數據到hive指定表
bin/sqoop import --connect --connect jdbc:mysql://180.150.180.120:3306/mcd --username crawl --password crawl123 --table xin_bang_data --hive-import --hive-database=tmp --hive-table xin_bang_data --m 1
導入數據到hive,覆蓋表中原有的數據
bin/sqoop import --connect --connect jdbc:mysql://180.150.180.120:3306/mcd --username crawl --password crawl123 --table xin_bang_data --hive-import --hive-overwrite --hive-database=tmp --hive-table xin_bang_data --m 1
CREATE TABLE tmp.`xin_bang_data` (
`id` string,
`weixin_name` string,
`weixin_code` string,
`read_num` string,
`fans_num` string,
`new_index` string,
`insert_time` string
)
partitioned by(dt string)
row format delimited fields terminated by '\t';
1.2 把數據從mysql導入數據到hive分區表(內表),指定數據導入的分區
bin/sqoop import --connect --connect jdbc:mysql://180.150.180.120:3306/mcd --username crawl --password crawl --table xin_bang_data --hive-import --hive-overwrite --hive-database=tmp --hive-table xin_bang_data --m 1
bin/sqoop import --connect --connect jdbc:mysql://180.150.180.120:3306/mcd \
--username crawl \
--password crawl123 \
--table xin_bang_data \
--fields-terminated-by "\t" \
--delete-target-dir \
--hive-import \
--m 1 \
--hive-partition-key dt \
--hive-partition-value 20181117 \
--hive-database tmp \
--hive-table xin_bang_data
1.3.從mysql導入數據到hive外表
創建外表
CREATE external TABLE `YDDT` (
`ID` string,
`YDJC_ID` string,
`YDDT_DATA_TYPE` string,
`YDDT_BUSSINESS_NOW` bigint,
`YDDT_USER_NOW` bigint,
`YDDT_COLLECT_TIME` string,
`YDDT_CREATOR` string,
`YDDT_DATE` string,
`BACK` string
) PARTITIONED BY (day int) row format delimited fields terminated by '\t';
數據導入
sqoop import --connect jdbc:mysql://172.20.13.50:3306/TestBigDate --username root --password 123456 --table YDDT_2017_06_01 -m 3 --target-dir /user/hive/warehouse/dxyjpt.db/yddt/day=20170601 --fields-terminated-by '\t'
標記表的分區信息
alter table yddt add partition(day='20170601') location '/user/hive/warehouse/dxyjpt.db/yddt/day=20170601'
總結
以上是生活随笔為你收集整理的sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python最基本的规则是关键字吗,Py
- 下一篇: php gd 行间距设置,PHP动态修改