我想将数据帧作为带有 Gzip 编码的 csv 文件上传到服务器,而不将其保存在光盘上。
使用spark-csv
lib 使用 Gzip 编码构建一些 csv 文件很容易:
df.write
.format("com.databricks.spark.csv")
.option("header", "true")
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
.save(s"result.csv.gz")
但是我不知道如何获得Array[Byte]
,代表我的DataFrame
,我可以通过HTTP上传
您可以将远程服务器作为远程 hdfs 服务器写入,您需要在远程服务器上安装 hdfs,但之后您应该能够执行类似
df.write
.format("com.databricks.spark.csv")
.option("header", "true")
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
.save("hdfs://your_remote_server_hostname_or_ip/result.csv.gz")