2017-06-01 28 views
-3

在探索各种工具(如Nifi,Gobblin等)时,我观察到Databricks现在正在推广使用Spark进行数据摄入/登录。Spark作为数据摄入/登录到HDFS

我们对纱线行走的火花[阶]基于应用程序。到目前为止,我们正在研究hadoop和spark集群,我们首先手动将所需的数据文件放在HDFS中,然后再运行我们的spark工作。 现在,当我们正计划使可供我们期待从巨大的任何数据源[FTP,SFTP,任何关系和NoSQL数据库]任何类型和文件[主要CSV,杰森,XML等]的数量的客户我们的应用程序大小[范围从GB到PB]。

记住这一点,我们正在寻找可用于数据入门和数据完整性的选项,然后再将数据推入HDFS。

这是我们正在寻找的选项基于优先级: 1)火花的数据摄取和理智:由于我们的应用程序编写和火花集群上运行时,我们计划使用相同的数据摄取和理智任务,好。 我们有点担心Spark对许多数据源/文件类型等的支持。另外,我们不确定是否试图复制数据让我们说任何FTP/SFTP,然后所有工作人员将并行写入HDFS数据?使用它有什么限制吗?此数据复制时是否有Spark维护的审核跟踪?

2)Nifi在集群模式下:如何好Nifi将用于此目的?它可以用于任何数据源和任何大小的文件吗?将保持审计线索? Nifi能处理这么大的文件吗?如果我们试图复制GB-PB的数据并在将数据推送到HDFS之前对数据执行一定的理性认证,那么将需要多大的群集呢?

3)集群模式下的Gobblin:想要听到与Nifi类似的答案吗?

4)如果有任何其他良好的选择可用于此目的,涉及较低的基础设施/成本和更好的性能?

任何指导/指针/比较上述工具和技术将不胜感激。

最好的问候, 布佩希

回答

0

做某些R & d和考虑的事实,使用NIFI或妖精会为更多的基础设施成本的需求之后。我已经开始测试Spark的数据入门。

到目前为止,我已经使用的Spark工作导入数据[目前在远程中转区/节点]在我的HDFS尝试,我能够通过安装这样做远程的位置,我所有的火花集群工作节点。这样做使得这个位置对于那些工作者来说是本地的,因此spark工作正常运行并且数据被加载到我的HDFS。

由于我的整个项目将在Spark上进行,因此将数据保留在火花上的部分不会为我带来任何额外费用。到目前为止,我进展顺利。因此,如果你已经有了spark集群和hadoop集群并运行,那么我会向其他人建议,而不是增加额外的成本(在成本可能成为主要限制的情况下),去寻找启动数据的火花。