开发者社区> 问答> 正文

如何使用flink将增量数据写入配置单元

"我使用flink 1.6,我知道我可以使用自定义接收器和hive jdbc来编写hive,或者使用JDBCAppendTableSink,但它仍然使用jdbc。问题是hive jdbc不支持batchExecute方法。我认为它会很慢。

然后我寻求另一种方式,我用writeAsText方法将数据集写入hdfs,然后从hdfs创建hive表。但是仍然存在一个问题:如何附加增量数据。 WriteMode的api是:

Enum FileSystem.WriteMode
枚举常量和描述
NO_OVERWRITE
仅当该路径上不存在任何文件时才创建目标文件。
OVERWRITE
无论任何现有文件或目录如何,都会创建新的目标文件。
例如,第一批,我将9月的数据写入配置单元,然后我获取10月的数据,我想追加它。

但是如果我对同一个hdfs文件使用OVERWRITE,9月的数据将不再存在,如果我使用NO_OVERWRITE,我必须将它写入新的hdfs文件,然后是新的hive表,我们需要它们在同一个hive表中。我不知道如何将2个hdfs文件合并到一个配置单元表中。
那么如何使用flink将增量数据写入hive?"

展开
收起
flink小助手 2018-11-28 16:04:56 3547 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

    "我想默认模式是将(text,avro,parquett)-files写入HDFS并在该目录上定义外部hive表。在那里,如果您有一个文件或多个文件并不重要。但是您很可能必须定期修复此表(msck修复表。;)。这将更新元数据,新文件将可用。

    对于更大量的数据,我建议对表进行分区并根据需要添加分区(这篇博文可能会给你一个提示:https://resources.zaloni.com/blog/partitioning-in-hive)"

    2019-07-17 23:16:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载