将数据从HDFS加载到Kudu

时间:2017-12-19 16:17:18

标签: hdfs impala sqoop apache-kudu

我正在尝试将数据加载到Kudu表中,但得到了一个奇怪的结果。

在Impala控制台中,我使用Sqoop导入的四个HDFS文件创建了一个外部表:

drop table if exists hdfs_datedim;
create external table hdfs_datedim
( ... )
row format
 delimited fields terminated by ','
location '/user/me/DATEDIM';

SELECT COUNT(*)告诉我存在很多行。查询时数据看起来不错。

我使用标准的select into来复制结果

INSERT INTO impala_kudu.DATEDIM
SELECT * FROM hdfs_datedim;

SELECT COUNT(*)告诉我impala_kudu.DATEDIM有四行(HDFS中的文件数表中的行数。

任何想法?

3 个答案:

答案 0 :(得分:1)

目前Sqoop还不支持Kudu。您可以导入到HDFS,然后使用Impala将数据写入Kudu。

答案 1 :(得分:0)

由sqoop创建的数据是一系列格式不正确的csv文件。由于平面文件中的数据,导入失败而没有错误。注意日期格式和文本字符串,并在字符串中嵌入分隔符。

答案 2 :(得分:0)

如果你有(csv / avro / parquet)格式的HDFS数据,那么你可以使用下面的命令将文件导入Kudu表。

<强>先决条件: Kudu jar兼容版(1.6或更高版)

10-12