【发布时间】: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