【问题标题】:Spark 2.0.0 - parquet read empty tableSpark 2.0.0 - parquet 读取空表
【发布时间】:2017-01-16 23:37:09
【问题描述】:

我刚刚更新到Spark 2.0.0,我想在SparkR 中阅读我的镶木地板文件:

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "2g"), sparkPackages = "com.databricks:spark-avro_2.11:3.0.0")

df1 <- read.parquet("my.parquet")

但是SparkDataFrame 返回空。当我收集它时,我得到了我的变量/列,但没有行。然而,这段代码适用于我使用Spark 1.6.2 生成的parquet

这个 parquet 文件是在另一个 file.scala 和 Spark 2.0.0 中生成的:

myDf.write.format("parquet").mode("overwrite")
.option("header", "true")
.option("parquet.enable.summary-metadata","true").save("my.parquet") 

来自Release Notes,“写入Parquet文件时,默认不写入摘要文件。要重新启用它,用户必须将“parquet.enable.summary-metadata”设置为true.”,我这样做了。

myDf 不为空,因为我可以用show() 打印出来,并且文件是由写入正常创建的:

./_common_metadata
./_metadata
./_SUCCESS
./part-r-00000-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00001-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00002-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00003-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00004-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00005-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00006-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00007-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00008-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00009-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00010-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00011-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00012-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00013-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00014-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00015-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00016-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00017-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00018-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00019-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00020-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00021-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00022-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00023-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00024-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00025-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00026-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00027-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00028-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet
./part-r-00029-6235ae25-fb7b-472b-9f0e-139907759393.snappy.parquet

myDF 要么正确写入但未正确加载,要么未正确写入。对可能发生的事情有任何见解吗?

【问题讨论】:

    标签: r scala apache-spark parquet sparkr


    【解决方案1】:

    确实没有正确书写镶木地板。

    我在命令行中使用--packages "com.databricks:spark-csv_2.10:1.2.0" 运行我的工作。但是,现在spark-csv 包含在Spark 2.0.0 中,而且我调用了它的错误版本。删除 packages 命令修复了它。

    【讨论】:

      猜你喜欢
      • 2020-05-17
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2015-12-19
      • 2019-01-27
      • 2017-04-24
      • 2019-03-03
      • 2021-09-02
      相关资源
      最近更新 更多