Machine learning 如何在azure数据库中导出预测(数组)?

Machine learning 如何在azure数据库中导出预测(数组)?,machine-learning,pyspark,azure-databricks,Machine Learning,Pyspark,Azure Databricks,我无法将数据帧导出到csv。消息“CSV数据源不支持阵列” predictions.write.option(“分隔符”、“\t”).csv(“/mnt/classification2018/testpredic2”) 我试过这个命令,但成功了,但没有成功 from pyspark.sql.functions import concat_ws predictions.withColumn("probability", concat_ws(",", "probability")).show()

我无法将数据帧导出到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) 
装饰中的
/databricks/spark/python/pyspark/sql/utils.py(*a,**kw)
61 def装饰(*a,**千瓦):
62尝试:
--->63返回f(*a,**kw)
64除py4j.protocol.Py4JJavaError外的其他错误为e:
65 s=e.java_exception.toString()
/获取返回值(应答、网关客户端、目标id、名称)中的databricks/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py
326 raise Py4JJavaError(
327“调用{0}{1}{2}时出错。\n”。
-->328格式(目标id,“.”,名称),值)
329其他:
330升起Py4JError(
Py4JJavaError:调用o1472.csv时出错。
:java.lang.UnsupportedOperationException:CSV数据源不支持数组数据类型。
位于org.apache.spark.sql.execution.datasources.csv.CSVUtils$.org$apache$spark$sql$execution$datasources$csv$CSVUtils$$verifyType$1(CSVUtils.scala:127)

将列强制转换为字符串并写入csv

from pyspark.sql.functions import col
predictions = predictions.withColumn("probability", col("probability").cast("string))
predictions.write.option("delimiter", "\t").csv("/mnt/classification2018/testpredic2")

如果可以避免,则不应使用图片。粘贴实际数据、日志、代码。抱歉,已删除图片同一消息“CSV数据源不支持数组”我可以写csv,没有任何错误。你能确认你复制了答案中显示的代码吗?还有,你还有其他数组列吗?最好用你的更新代码更新你的问题,并显示
预测的输出。show(2)
在您写信给csv.Manoj之前,很抱歉耽搁了,这是我所在城市的一个假日。我解决了这个问题,还有一个数组列我忘了转换。再次感谢您的帮助