spark - 没有定义模式,也没有在下面找到 Parquet 数据文件或摘要文件

Posted

技术标签:

【中文标题】spark - 没有定义模式,也没有在下面找到 Parquet 数据文件或摘要文件【英文标题】:spark - No schema defined, and no Parquet data file or summary file found under 【发布时间】: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) .....

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

谢谢。

【问题讨论】:

【参考方案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

【讨论】:

以上是关于spark - 没有定义模式,也没有在下面找到 Parquet 数据文件或摘要文件的主要内容,如果未能解决你的问题,请参考以下文章

PrimeFaces 4.0 PF未定义

spark-submit 中的 scala.ScalaReflectionException

javascript 警报消息似乎没有显示

具有每小时美元价值的 jquery 范围滑块

渲染错误:没有找到没有参数的“ph”反向。尝试了 1 种模式:['(?P<answer>[^/]+)/ph\\-data/$']

Django 3.0:没有找到没有参数的“产品”的反向。尝试了 1 种模式:['product/(?P<slug>[^/]+)/$']