gpt4 book ai didi

hadoop - 使用SQOOP将数据从HDFS复制到配置单元

转载 作者:行者123 更新时间:2023-12-02 20:39:20 25 4
gpt4 key购买 nike

我想将数据从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

注意:此方法会将数据从 /example_hive/country上的 HDFS位置移动到支持该表的 Hive仓库目录(再次位于 HDFS上)。

关于hadoop - 使用SQOOP将数据从HDFS复制到配置单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com