Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Scala中使用数据集创建CSV_Scala_Csv_Databricks - Fatal编程技术网

在Scala中使用数据集创建CSV

在Scala中使用数据集创建CSV,scala,csv,databricks,Scala,Csv,Databricks,我已经从scala中的数据集创建了CSV文件。它正在创建CSV文件,但文件大小为0字节 在读取dbutils.fs.head(csv_路径)时,它的给定错误 “java.lang.IllegalArgumentException:无法指向目录:csv\u路径” 有人能帮我吗?我认为CSV在创建文件时被破坏了。 有什么解决方案吗?我已经有一年没有使用过DataRicks了,但我记得,您可以像这样将数据帧保存到CSV # path to file path = 'file:/databricks/d

我已经从scala中的数据集创建了CSV文件。它正在创建CSV文件,但文件大小为0字节

在读取dbutils.fs.head(csv_路径)时,它的给定错误

“java.lang.IllegalArgumentException:无法指向目录:csv\u路径”

有人能帮我吗?我认为CSV在创建文件时被破坏了。
有什么解决方案吗?

我已经有一年没有使用过DataRicks了,但我记得,您可以像这样将数据帧保存到CSV

# path to file
path = 'file:/databricks/driver/us.csv'

# load data using sqlContext
df = sqlContext.read.format("csv")\
    .option("header","true")\
    .option("inferSchema","true")\
    .load(path)

# displat table format
display(df)
以CSV格式写入dataframe的内容:

df.write.csv("/data/home/csv")
将整个数据帧写入单个CSV文件:

df.coalesce(1).write.csv("/data/home/sample.csv")
为了完整起见,如果您想将CSV读入数据帧,可以这样做

# path to file
path = 'file:/databricks/driver/us.csv'

# load data using sqlContext
df = sqlContext.read.format("csv")\
    .option("header","true")\
    .option("inferSchema","true")\
    .load(path)

# displat table format
display(df)

你的错误说明了一切<代码>csv_路径不是包含数据的文件,它是Spark保存csv文件的父目录。如果没有
coalesce(1)
,数据帧将在
csv\u路径下写入许多csv文件,因为它期望每个Spark执行器将其分区写入该文件夹中自己的
part-0001…csv
文件。注意,对于coal race,它仍然是一个目录,包含一个csv文件什么是“coal race”?因为我只希望有一个CSV文件。我怎样才能做到这一点?我是斯卡拉的新手。你能帮我吗?