将 snappy.parquet 文件移动到 impala 或直线 table

Move snappy.parquet file into impala or beeline as a table

我有一个 snappy.parquet 文件,我想通过 impala 或直线将其完整移动到 table 中,通过 [= 创建一个 table 15=]

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 中读取此文件时,它 returns 我正在寻找的 table(超过 1000 行)。

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

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

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

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/'

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