【发布时间】:2017-08-16 21:38:38
【问题描述】:
我正在使用两个 Jupyter 笔记本在分析中做不同的事情。在我的 Scala 笔记本中,我将一些清理过的数据写入 parquet:
partitionedDF.select("noStopWords","lowerText","prediction").write.save("swift2d://xxxx.keystone/commentClusters.parquet")
然后我去我的 Python notebook 读入数据:
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: 这是在 Data Science Experience 中的一个项目中完成的。
【问题讨论】:
-
这是一个gist,用于将 DataFrame 作为 parquet 文件写入/读取到 Swift。它使用一个简单的模式(所有“字符串”类型)。您的 DataFrame 的架构是什么? Spark 尝试推断架构,但“目前支持数字数据类型和字符串类型”(请参阅spark.apache.org/docs/latest/…)
-
我相信你当时回答了我的问题! “noStopWords”列是一个词向量。如何使用此列保存/加载 df?
标签: python scala apache-spark pyspark data-science-experience