【问题标题】:spark - No schema defined, and no Parquet data file or summary file found underspark - 没有定义模式,也没有在下面找到 Parquet 数据文件或摘要文件
【发布时间】:2015-08-24 04:53:23
【问题描述】:

首先我开始

$SPARK_HOME/bin/pyspark

并写下这段代码

sqlContext.load("jdbc", url="jdbc:mysql://IP:3306/test", driver="com.mysql.jdbc.Driver", dbtable="test.test_tb")

当我只写 dbtable="test_db" 时,错误是一样的。

出现此错误后,

py4j.protocol.Py4JJavaError:调用 o66.load 时出错。 :java.lang.AssertionError:断言失败:未定义架构,并且在.下找不到 Parquet 数据文件或摘要文件。 在 scala.Predef$.assert(Predef.scala:179) 在 org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache.org$apache$spark$sql$parquet$ParquetRelation2$MetadataCache$$readSchema(newParquet.scala:429) .....

为什么会出现这个错误?? 我想知道并解决这个问题。

谢谢。

【问题讨论】:

    标签: python jdbc apache-spark


    【解决方案1】:

    我不知道这个错误的原因,但我偶然发现了它,然后找到了一种方法来使同样的事情起作用。

    试试这个:

    df = sqlContext.read.format("jdbc").options(url="jdbc:mysql://server/table?user=usr&password=secret", dbtable="table_name").load()
    

    我想.load 语法不再有效,或者不适用于 jdbc。希望它有效!

    顺便说一句,我用这个命令启动了控制台:

    SPARK_CLASSPATH=~/progs/postgresql-9.4-1205.jdbc42.jar pyspark
    

    我的数据库在 postgres 中,所以我下载了带有 jdbc 的 jar,并按照文档中的建议将它添加到我的类路径中。 http://spark.apache.org/docs/latest/sql-programming-guide.html#jdbc-to-other-databases

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-13
      • 2015-11-05
      • 1970-01-01
      • 2018-08-09
      • 2021-01-03
      • 2018-03-10
      • 2021-11-05
      • 2019-08-10
      相关资源
      最近更新 更多