我正在创建一个应用程序,其中获取流数据,进入卡夫卡,然后火花。使用这些数据,应用一些登录,然后将处理过的数据保存到单元中。数据的速度非常快。我在1分钟内就能拿到50K记录。火花流有1分钟的窗口,它处理数据并将数据保存在蜂箱中。
我的问题是,对于生产来说,未来的架构是好的吗?如果是,如何将流数据保存到蜂巢中。我正在做的是,创建1分钟窗口数据的数据,并将其保存在蜂巢中。
results.write.mode(org.apache.spark.sql.SaveMode.Append).insertInto("stocks")我还没有创建管道。可以吗?还是我得修改一下建筑?
谢谢
发布于 2017-09-06 17:25:53
我会试试的!
但卡夫卡->火花->蜂箱不是你的最佳使用线。
建议:
选项1:-使用kafka作为缓冲队列,并设计管道,如-kafka->hdfs(例如,带火花或水槽),->batch星星之火到蜂箱/黑帕拉表。
备选案文2:
备选方案1没有“实时”分析选项。这取决于您运行批处理火花的频率。
option2是我推荐的一个很好的选择,比如在hbase中存储30天,在蜂箱/黑斑羚中存储所有较旧的数据。有了视图,您将能够加入新的和旧的数据进行实时分析。古都使建筑变得更加简单。
如果您想要对数据进行分区并通过HIVEsql使用它,那么将数据保存到单元表中可能会很棘手。
但最基本的是,它的工作方式如下:
xml.write.format("parquet").mode("append").saveAsTable("test_ereignis_archiv")BR
https://stackoverflow.com/questions/46080736
复制相似问题