使用python读取1TB HDFS csv文件的有效方法是啥
Posted
技术标签:
【中文标题】使用python读取1TB HDFS csv文件的有效方法是啥【英文标题】:What is the efficient way to read 1TB HDFS csv file using python使用python读取1TB HDFS csv文件的有效方法是什么 【发布时间】:2018-05-04 18:05:31 【问题描述】:我有一个放在 HDFS 中的文件。我想知道什么是使用 python 读取文件的有效方法。我可以使用 pyspark 吗?
【问题讨论】:
1 Tb csv 文件?古比请 您尝试过 Spark吗? “高效”的方法是 1) 在 Hadoop 中不使用 CSV - 将其转换为 Parquet 2) 在其上定义 Hive 表并使用 Presto 或 Impala,如果你有可用的。否则,Hive 或 Spark 查看 Dask。 你想用这些数据做什么? HDFS 和 YARN 在处理数据方面非常有效,但您需要的实际工具由用例定义。 【参考方案1】:您可以使用PySpark
,即Python API for Spark
。它将允许您使用Spark
来利用集群资源。我建议从 1 TB 文件中提取一小块,并在上面测试你的代码。如果一切看起来都不错,那么您可以在更大的数据集上提交您的工作。
如果使用 Spark:根据您在集群上的内存量,考虑将 RDDs
缓存在您计划经常重用的内存中。这将加快您的工作执行速度。
【讨论】:
以上是关于使用python读取1TB HDFS csv文件的有效方法是啥的主要内容,如果未能解决你的问题,请参考以下文章
PySpark 无法从 hdfs 读取 csv:HiveExternalCatalog 错误