【问题标题】:Pyspark error while querying cassandra to convert into dataframes查询 cassandra 以转换为数据帧时出现 Pyspark 错误
【发布时间】:2015-08-26 11:48:13
【问题描述】:

执行命令时出现以下错误:

user = sc.cassandraTable("DB NAME", "TABLE NAME").toDF()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/src/spark/spark-1.4.1/python/pyspark/sql/context.py", line 60, in toDF
    return sqlContext.createDataFrame(self, schema, sampleRatio)
  File "/usr/local/src/spark/spark-1.4.1/python/pyspark/sql/context.py", line 333, in createDataFrame
    schema = self._inferSchema(rdd, samplingRatio)
  File "/usr/local/src/spark/spark-1.4.1/python/pyspark/sql/context.py", line 220, in _inferSchema
    raise ValueError("Some of types cannot be determined by the "
ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling

【问题讨论】:

  • 进入 pyspark 的源代码级别后,我发现错误是因为在创建数据帧时,pyspark 检查前 100 个 rdds 中的任何字段是否具有连续的空值,如果它为某个特定字段连续查找 100 条记录的空值会引发此错误。

标签: cassandra pyspark pyspark-sql


【解决方案1】:

直接加载到 Dataframe 中,这也将避免任何用于解释类型的 Python 级代码。

sqlContext.read.format("org.apache.spark.sql.cassandra").options(keyspace="ks",table="tb").load()

【讨论】:

    猜你喜欢
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2019-01-03
    • 2017-09-18
    • 2018-08-10
    • 2018-09-10
    相关资源
    最近更新 更多