0
我有一個配置單元表分區在國家列。 我的RDBMS列如下:我想sqoop數據使用sqoop導入作業進入配置單元列分區表。我們應該怎麼做?
id int, fname varchar(45), lname varchar(45), email varchar(45), password varchar(45), street varchar(45), city varchar(45), state varchar(45), zipcode varchar(45), c_time timestamp
樣本數據: 1,理查德,Hernandez的,XXXXXXXXX,XXXXXXXXX,6303石楠廣場斯維爾,TX,69696,2017-07-20 20:24:17.0
Sqoop工作:
sqoop job --create customer_partition -- import --connect jdbc:mysql://host/serverName
--username root -P --table customers --check-column c_time --incremental lastmodified
--last-value 0 --merge-key id --target-dir '/user/cloudera/partitionedTables/customers_partition/'
--fields-terminated-by ',' --hive-import
--hive-table customers_partition --hive-partition-key "state";
蜂巢分區表:
create external table customers_partition(id int, fname varchar(64), lname varchar(64), email varchar(64),
password varchar(64), street varchar(45), city varchar(45), zipcode varchar(64), cob_dt timestamp)
partitioned by (state varchar(45))
row format delimited
fields terminated by ','
location '/hdfsPath/customers_partition/';
後在HDFS夾輸出文件sqoop導入包含數據如下格式:
1,Richard,Hernandez,XXXXXXXXX,XXXXXXXXX,6303 Heather Plaza,Brownsville,TX,69696,2017-07-20 20:24:17.0
which points to same columns same as RDBMS columns.
When I perform hive query: select * from customers_partition; showing 0 records found in hive.
這是因爲因爲分區的蜂巢表列佈置是從正常RDBMS表列排列不同。
我們該如何解決這個問題。我想sqoop直接導入數據到蜂巢分區表和記錄需要更新,當我運行這個sqoop作業。如果我錯了,有沒有其他方法可以做到這一點?
此外如何使用兩個或更多配置單元分區列執行相同的操作。
有什麼辦法可以將動態數據導入分區列而不是賦值嗎?還應該有RDBMS列序列和配置單元分區應該是相同的。請在此解釋我。 – Chaithu
是的,這裏是參考https://community.hortonworks.com/questions/43982/sqoop-insert-into-partitioned-table.html –