【问题标题】:How to upload a dataframe as a stream without saving on disc?如何将数据帧作为流上传而不保存在磁盘上?
【发布时间】:2019-09-09 12:58:36
【问题描述】:

我想用 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 上传

【问题讨论】:

    标签: scala apache-spark spark-csv


    【解决方案1】:

    您可以将远程服务器作为远程 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")
    

    【讨论】:

    • 感谢您的回答。问题是我需要将文件上传到 Google Drive 等存储设备。我不能在这里安装hdfs)
    猜你喜欢
    • 2018-06-09
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多