繁体   English   中英

spark-未定义架构,在以下位置未找到Parquet数据文件或摘要文件

[英]spark - No schema defined, and no Parquet data file or summary file found under

首先我开始

$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).....

为什么会发生此错误? 我想知道并解决这个问题。

谢谢。

我不知道发生此错误的原因,但我偶然发现了它,然后找到了使同一事物起作用的方法。

尝试这个:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM