【问题标题】:Move snappy.parquet file into impala or beeline as a table将 snappy.parquet 文件作为表格移动到 impala 或 beeline
【发布时间】:2018-06-07 14:30:00
【问题描述】:

我有一个 snappy.parquet 文件,我想通过 impala 或 beeline 将其整体移动到一个表中,通过以下方式创建一个表

CREATE EXTERNAL TABLE IF NOT EXISTS first_test LIKE PARQUET '/user/my_user/my_table/part-00000-c0544fc8-b709-4408-8e90-f0f9e4050691-c000.snappy.parquet'

由于某种原因无法正常工作,因为它说Fetched 0 row(s) in 0.31s. 当我通过 spark.read.parquet 在 spark 中读取此文件时,它会返回我正在查找的表(超过 1000 行)。

我无法直接写入 Hive,因为我没有 myDF.write.saveAsTable 的权限。

有没有办法通过 impala 或 beeline 制作表格,即使 impala 和 beeline 在 hdfs 中只有读取和执行权限而没有写入权限。或者我是否也必须授予 impala 和 beeline 写入 hdfs 的权限?

【问题讨论】:

    标签: apache-spark hdfs impala beeline


    【解决方案1】:

    您所做的实际上是根据文件中包含的 parquet 元数据创建表。如果你也想读取数据,你可以指定表格位置如下

    CREATE EXTERNAL TABLE IF NOT EXISTS 
    first_test 
    LIKE PARQUET '/user/my_user/my_table/part-00000-c0544fc8-b709-4408-8e90-f0f9e4050691-c000.snappy.parquet'
    location 
    '/user/my_user/my_table/'
    

    它会自动读取指定文件夹位置内的所有文件

    【讨论】:

    • 我已经尝试过了,但是正如我所提到的,我没有 hdfs 的写权限,所以 beeline 无法将它移动到 hive 仓库中。
    • 它不需要移动它......它会将桌子指向您的位置。
    • 我确实需要提供直线访问 hdfs 的权限,仅供参考。
    猜你喜欢
    • 1970-01-01
    • 2017-08-13
    • 2019-11-12
    • 2014-07-24
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    相关资源
    最近更新 更多