实时将Excel数据更新为HDFS

时间:2019-05-14 08:16:28

标签: excel hadoop apache-kafka hdfs streaming

我在远程RHEL服务器上的本地计算机和HDFS中表现出色。 我想将此Excel数据加载到HDFS中并实时更新。 例如,如果在excel中插入了一些新记录,则需要实时捕获和更新这些记录。 我现在有两种方法:

1)定期拉出excel文件并将其加载到HDFS中,然后在其顶部创建一个配置单元表。 但是这种方法一天不必要地多次运行该作业,而且并不是真正的实时方案。

2)另一个解决方案是对生产者进行编码,使其在循环中逐行读取excel,如果捕获了一些更改,则将数据推送到Kafka Topic,以后可以使用Spark-Streaming进行使用。

但是这两个选项都不是很直接,第二个选项需要大量的编码。

有没有更好的方法来实现这一目标。我是流媒体新手,还不太清楚该怎么做。

1 个答案:

答案 0 :(得分:1)

这实际上取决于您要处理多少数据。您正在讨论单个Excel文件的事实表明这不是大数据问题,因此Spark Streaming / Kafka可能会过大。

我要编写一个持续运行的香草Java应用程序(使用Apache POI和Hadoop HDFS API),检查Excel文件的上次修改日期(file.lastModified())是否有变化,然后读取文件并推送将其全部内容保存到HDFS。 HDFS并不是真正为附加而设计的,因此您应该每次都重新创建整个文件。