【问题标题】:impala shell command to export a parquet file as a csvimpala shell 命令将镶木地板文件导出为 csv
【发布时间】:2020-07-21 21:28:50
【问题描述】:

我有一些存储在 HDFS 中的 parquet 文件,我想先将它们转换为 csv 文件,然后使用 ssh 将它们导出到远程文件中。

我不知道通过编写 spark 作业是否可能或简单(我知道我们可以通过使用 spark.read.parquet 将 parquet 转换为 csv 文件,然后使用 spark.write 作为 csv 文件到同一个 DF )。但我真的很想通过使用 impala shell 请求来做到这一点。

所以,我想到了这样的事情:

hdfs dfs -cat my-file.parquet | ssh myserver.com 'cat > /path/to/my-file.csv'

你能帮我解决这个请求吗?请。 谢谢!!

【问题讨论】:

    标签: impala


    【解决方案1】:

    没有 kerberos 的示例:

    impala-shell -i servername:portname -B -q 'select * from table' -o filename '--output_delimiter=\001'
    

    我可以解释这一切,但已经晚了,如果你愿意,这里有一个链接可以让你这样做以及标题:http://beginnershadoop.com/2019/10/02/impala-export-to-csv/

    【讨论】:

      【解决方案2】:

      您可以通过多种方式做到这一点。

      一种方法可能如下例所示。

      使用impala-shell,您可以运行查询并通过管道传送到ssh,以将输出写入远程计算机。

      $ impala-shell --quiet --delimited --print_header --output_delimiter=',' -q 'USE fun; SELECT * FROM games' | ssh remoteuser@ip.address.of.remote.machine "cat > /home/..../query.csv"
      

      此命令从 default database 更改为 fun database 并对其运行查询。

      您可以更改--output_delimiter='\t'--print_header 或不连同其他选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-25
        • 2017-11-11
        • 2018-11-09
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        • 2020-08-13
        • 1970-01-01
        相关资源
        最近更新 更多