[英]Copying data from HDFS to hive using SQOOP
我想將數據從HDFS
復制到hive
表。 我嘗試下面的代碼,但它不會引發任何錯誤,並且數據也不會在提到的配置單元表中復制。 下面是我的代碼:
sqoop import --connect jdbc:mysql://localhost/sampleOne \
--username root \
--password root \
--external-table-dir "/WithFields" \
--hive-import \
--hive-table "sampleone.customers"
其中sampleone
是hive中的數據庫,而customers
是hive中新創建的表,-- --external-table-dir
是要在hive表中加載數據的HDFS路徑。 我在上面的代碼中還缺少什么?
如果數據在HDFS
,則不需要Sqoop
即可填充Hive
表。 步驟如下:
這是HDFS中的數據
# hadoop fs -ls /example_hive/country
/example_hive/country/country1.csv
# hadoop fs -cat /example_hive/country/*
1,USA
2,Canada
3,USA
4,Brazil
5,Brazil
6,USA
7,Canada
這是Hive表創建DDL
CREATE TABLE sampleone.customers
(
id int,
country string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
驗證配置單元表為空
hive (sampleone)> select * from sampleone.customers;
<no rows>
加載配置單元表
hive (sampleone)> LOAD DATA INPATH '/example_hive/country' INTO TABLE sampleone.customers;
驗證Hive表中是否有數據
hive (sampleone)> select * from sampleone.customers;
1 USA
2 Canada
3 USA
4 Brazil
5 Brazil
6 USA
7 Canada
注意 :此方法會將數據從HDFS
上的/example_hive/country
位置移動到支持該表的Hive
倉庫目錄(該目錄又將在HDFS
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.