文本数据源仅支持一列,并且您有8列

时间:2018-08-03 08:18:07

标签: scala apache-spark

这是我尝试将数据框保存到文本时遇到的错误:

org.apache.spark.sql.AnalysisException: Text data source supports only a single column, and you have 8 columns

这是代码:

df.write.text("/tmp/wt")

我做错了什么?

1 个答案:

答案 0 :(得分:2)

在Spark 1.6中,最简单的解决方案是使用databricks的库并编写:

cbrt

如果您不想使用它,只需将数据框的行转换为csv行,如下所示:

#define cbrt(X) _Generic((X),                                      \
                        long double: cbrtl,                        \
                        default: cbrt,                             \
                        float: cbrtf                               \
                        )(X)

请注意,如果您的字段可以包含分隔符或引号,那么您将必须添加封闭引号并转义现有引号,而库将透明地为您执行这些操作。