如何在不保存在光盘上的情况下将数据帧作为流上传?



我想将数据帧作为带有 Gzip 编码的 csv 文件上传到服务器,而不将其保存在光盘上。

使用spark-csvlib 使用 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")

最新更新