При загрузке csv через блоки данных, ниже 2-го ряда 4-й столбец не загружается.Количество столбцов в csv варьируется в зависимости от строки.
В test_01.csv,
a,b,c
s,d,a,d
f,s
Загружается в файл csv через блоки данных, как показано ниже
>>> df2 = sqlContext.read.format("com.databricks.spark.csv").load("sample_files/test_01.csv")
>>> df2.show()
+---+---+----+
| C0| C1| C2|
+---+---+----+
| a| b| c|
| s| d| a|
| f| s|null|
+---+---+----+
- Пробовалзагрузка с текстовым файлом
rdd = sc.textFile ("sample_files / test_01.csv")
rdd.collect ()
[u'a,b,c', u's,d,a,d', u'f,s']
Но не преобразование вышеупомянутого rdd в dataframe вызывает ошибку
удалось решить, указав схему, как показано ниже.
df2 = sqlContext.read.format ("com.databricks.spark.csv"). Схема (схема) .load ("sample_files / test_01.csv"")
df2.show ()
+---+---+----+----+----+
| e1| e2| e3| e4| e5|
+---+---+----+----+----+
| a| b| c|null|null|
| s| d| a| d|null|
| f| s|null|null|null|
+---+---+----+----+----+
Пробовал с инфершемой.все еще не работает
df2 = sqlContext.read.format ("com.databricks.spark.csv"). option ("inferSchema", "true").load ("sample_files / test_01.csv")
df2.show ()
+---+---+----+
| C0| C1| C2|
+---+---+----+
| a| b| c|
| s| d| a|
| f| s|null|
+---+---+----+
Но есть ли другой способ без использования схемы какномер столбца меняется?