machine-learning - 如何在天蓝色数据 block 中导出我的预测(数组)?

标签 machine-learning pyspark azure-databricks

我无法将数据框导出为 csv。消息“CSV数据源不支持数组”

predictions.write.option("delimiter", "\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) 

最佳答案

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

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

关于machine-learning - 如何在天蓝色数据 block 中导出我的预测(数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857197/

相关文章:

machine-learning - 针对不可分类问题使用什么类型的神经网络

python - 如何将 PySpark RDD 转换为具有未知列的 Dataframe?

azure - 如何升级 Azure Databricks 中的 Hive 版本

python - 迭代 databricks Repos 中的文件

Matlab:如何在保留标签信息的同时将我的数据矩阵拆分为两个随机的列向量子集?

python - 用机器学习中的两个类进行预测

machine-learning - 提取属性时发生意外异常 Open Vino

github - PySpark:如何将 GitHub 库导入 Databricks?

python - 如何使用许多工作人员发送 slurm 作业,而不仅仅是在本地模式下运行?

azure - 如何在 azure 数据工厂管道中添加验证来检查文件大小?