我希望阅读存储在HDFS中的镶木地板文件,我正在使用Python来执行此操作。我在下面有这个代码,但它没有打开HDFS中的文件。你能帮我改变代码吗?
sc = spark.sparkContext
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.read.parquet('path-to-file/commentClusters.parquet')
另外,我也希望将Dataframe保存为CSV文件。
答案 0 :(得分:1)
尝试
sqlContext.read.parquet("hdfs://<host:port>/path-to-file/commentClusters.parquet")
要查找主机和端口,只需搜索文件core-site.xml并查找xml元素fs.defaultFS(例如$ HADOOP_HOME / etc / hadoop / core-site.xml)
为简单起见,请尝试
sqlContext.read.parquet("hdfs:////path-to-file/commentClusters.parquet")
或
sqlContext.read.parquet("hdfs:/path-to-file/commentClusters.parquet")
参考Cannot Read a file from HDFS using Spark
要另存为csv,请尝试
df_result.write.csv(path=res_path) # possible options: header=True, compression='gzip'