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 数据文件或摘要文件的主要内容,如果未能解决你的问题,请参考以下文章
spark-submit 中的 scala.ScalaReflectionException
渲染错误:没有找到没有参数的“ph”反向。尝试了 1 种模式:['(?P<answer>[^/]+)/ph\\-data/$']
Django 3.0:没有找到没有参数的“产品”的反向。尝试了 1 种模式:['product/(?P<slug>[^/]+)/$']