我在用两个笔记本做不同的分析。在我的Scala笔记本中,我将一些清理过的数据写到拼花上:
partitionedDF.select("noStopWords","lowerText","prediction").write.save("swift2d://xxxx.keystone/commentClusters.parquet")
然后我去我的Python笔记本读取数据:
df = spark.read.load("swift2d://xxxx.keystone/commentClusters.parquet")
我得到以下错误:
AnalysisException: u'Unable to infer schema for ParquetFormat at swift2d://RedditTextAnalysis.keystone/commentClusters.parquet. It must be specified manually;'
我已经看过spark文档,我认为不应该要求我指定模式。有人碰到这样的事吗?当我保存/加载时,我应该做些别的事情吗?数据正在对象存储中着陆。
编辑: 我在读和写中都唱spark 2.0。
编辑2: 这是在一个数据科学经验项目中完成的。
您可以使用Spark会话的
parquet
格式读取拼花文件。像这样:不过,
parquet
和load
函数之间没有区别。可能是由于load
无法推断文件中数据的架构(例如,某些数据类型不可由load
识别或特定于parquet
)。我读拼花文件的方式如下:
相关问题 更多 >
编程相关推荐