Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在hadoop python中处理多个文件_Python_File_Hadoop_Pyspark_Bigdata - Fatal编程技术网

在hadoop python中处理多个文件

在hadoop python中处理多个文件,python,file,hadoop,pyspark,bigdata,Python,File,Hadoop,Pyspark,Bigdata,我有一个场景,文本分隔的文件每30分钟从不同的服务器(大约10台)到达hadoop系统 每个文件大约有250万条记录,可能不会同时到达,我正在寻找一种方法,每30分钟处理一次这些文件 我的问题是: 如何处理在不同时间到达的文件 我希望数据在10个文件中聚合。这样大的文件应该合并还是分开处理 我希望这个解决方案能够用python实现,但是如果能够使用hadoop中的任何工具/技术,我将不胜感激 如何处理在不同时间到达的文件 除非您的数据对时间敏感,否则无所谓。如果是这样,那么原始数据应该包括写入记

我有一个场景,文本分隔的文件每30分钟从不同的服务器(大约10台)到达hadoop系统

每个文件大约有250万条记录,可能不会同时到达,我正在寻找一种方法,每30分钟处理一次这些文件

我的问题是:

  • 如何处理在不同时间到达的文件
  • 我希望数据在10个文件中聚合。这样大的文件应该合并还是分开处理
  • 我希望这个解决方案能够用python实现,但是如果能够使用hadoop中的任何工具/技术,我将不胜感激

    如何处理在不同时间到达的文件

    除非您的数据对时间敏感,否则无所谓。如果是这样,那么原始数据应该包括写入记录的时间戳

    这样大的文件应该合并还是分开处理

    大的、独立的文件是最好的。注意HDFS块的大小。此大小取决于您的安装

    我想用python实现这个解决方案

    欢迎您使用Spark Streaming查看文件目录,或者使用Oozie+Spark安排常规批处理,但其他工具可能更简单

    有些你可以研究

    • 阿帕奇尼菲酒店
    • 流集数据采集器
    • 阿帕奇水槽
    Flume将要求您在这10台外部服务器上安装代理


    列出的每个服务都可以近乎实时地读取数据,因此您不需要明确地进行30分钟的批处理

    你可以看看ApacheOozie。它能够根据数据可用性触发动作/作业。