Ошибка Pyspark при запросе cassandra для преобразования в кадры данных

Я получаю следующую ошибку при выполнении команды:

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

person Poonam Agrawal    schedule 26.08.2015    source источник
comment
Попав на уровень исходного кода pyspark, я обнаружил, что ошибка заключалась в том, что во время создания кадров данных pyspark проверяет, имеет ли какое-либо поле в первых 100 rdd непрерывное нулевое значение, если он постоянно находит нулевые значения для 100 записей для конкретное поле выдает эту ошибку.   -  person Poonam Agrawal    schedule 27.08.2015


Ответы (1)


Загрузите напрямую в Dataframe, это также позволит избежать кода уровня Python для интерпретации типов.

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