Как экспортировать прогноз (массив) в лазурные блоки данных?

Я не могу экспортировать фрейм данных в CSV. Сообщение "Источник данных CSV не поддерживает массив"

predictions.write.option ("разделитель", "\ t"). csv ("/ mnt / classification2018 / testpredic2")

Я пробовал эту команду, но соединил, но не преуспел

from pyspark.sql.functions import concat_ws

predictions.withColumn("probability", concat_ws(",", "probability")).show()

Ошибка журнала

/databricks/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
     61     def deco(*a, **kw):
     62         try:
---> 63             return f(*a, **kw)
     64         except py4j.protocol.Py4JJavaError as e:
     65             s = e.java_exception.toString()

/databricks/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
    326                 raise Py4JJavaError(
    327                     "An error occurred while calling {0}{1}{2}.\n".
--> 328                     format(target_id, ".", name), value)
    329             else:
    330                 raise Py4JError(

Py4JJavaError: An error occurred while calling o1472.csv.
: java.lang.UnsupportedOperationException: CSV data source does not support array<string> data type.
    at org.apache.spark.sql.execution.datasources.csv.CSVUtils$.org$apache$spark$sql$execution$datasources$csv$CSVUtils$$verifyType$1(CSVUtils.scala:127) 

person user3661384    schedule 19.12.2018    source источник
comment
Не стоит фотографировать, если можно этого избежать. Вставьте актуальные данные, лог, код.   -  person Manoj Singh    schedule 19.12.2018
comment
Извините, фотография удалена   -  person user3661384    schedule 19.12.2018


Ответы (1)


Преобразуйте столбец в строку и напишите в csv

from pyspark.sql.functions import col
predictions = predictions.withColumn("probability", col("probability").cast("string))
predictions.write.option("delimiter", "\t").csv("/mnt/classification2018/testpredic2")
person Manoj Singh    schedule 19.12.2018
comment
Источник данных того же сообщения CSV не поддерживает массив - person user3661384; 19.12.2018
comment
Я могу написать CSV без ошибок. Можете ли вы подтвердить, что вы скопировали код, указанный в ответе. Кроме того, есть ли у вас какой-либо другой столбец массива? Хорошая идея обновить свой вопрос кодом обновления, а также показать вывод predictions.show(2), прежде чем писать в csv. - person Manoj Singh; 19.12.2018
comment
Манодж, извините за задержку, в моем городе был праздник. Я смог решить эту проблему, был еще один столбец массива, который я забыл преобразовать. Еще раз большое спасибо за помощь - person user3661384; 21.12.2018