插入 Impala 表与写入 HDFS

Posted

技术标签:

【中文标题】插入 Impala 表与写入 HDFS【英文标题】:Insert into Impala table vs write to HDFS 【发布时间】:2017-07-30 08:14:19 【问题描述】:

我有大约 1 万条记录(在 Java 中存储为 ArrayList)。我想将这些记录插入到 Impala。

我应该使用insert into table partition values 直接插入到impala。 (不知道一条sql语句可以插入多少条记录。)

或者我应该将这些记录写入 HDFS 然后alter impala 表?

首选哪种方式?或者有没有其他解决方案?

如果我每 5 分钟执行一次,如何避免一个分区(按小时分区)中出现这么多小文件?这些会在每个分区产生12个小文件,会不会影响查询速度?

【问题讨论】:

【参考方案1】:

你能做的最好的就是:

    在 impala 中创建表作为与 HDFS 路由关联的外部表 直接在 HDFS 中进行插入,如果可能的话,每天,每小时可能很少 执行 invalidate metada $ TABLE_NAME 命令,使数据可见

希望答案对你有用

问候!

【讨论】:

以上是关于插入 Impala 表与写入 HDFS的主要内容,如果未能解决你的问题,请参考以下文章

将 pandas 表写入 impala

如何将 pyspark 输出写入 impala 表?

没有 HDFS 的 Impala 和 Kudu

将数据加载到 Hive/Impala

写入 Impala 时自动创建 Impala 表的数据框

如何将 Spark 数据帧写入 impala 数据库