无法通过OCI HDFS连接器从配置单元分区表搜索任何数据到对象存储

q5lcpyga  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(127)

我尝试为OCI对象存储创建配置单元外部表,但无法从配置单元分区表中搜索任何数据。查询select * from table_name limit 10;没有输出。这只是配置单元分区表的问题。对于普通的非分区表,它可以正常工作。

7kqas0il

7kqas0il1#

请按照此处的文档Using the HDFS Connector with Spark了解先决条件。除此之外,将数据加载到分区表的方式与普通的非分区表不同。通过执行以下查询,可以完成提及分区数据的少量手动工作
将数据装入路径{位置} INTO表{分区表}分区{名称=值}
为了更好地理解这个问题,让我们考虑一下上面文档中上传到对象存储桶中的movies.csv文件的示例。(您可以执行与下面描述的步骤类似的步骤来解决这个问题)
步骤1:创建配置单元外部表

CREATE EXTERNAL TABLE movie_table(
movieId integer, title string, genres string)
partitioned by (pa_month string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 'oci://bucket_name@namespace_name/moviepartition';

步骤2:将数据从放在对象存储桶中的文件加载到分区表中

LOAD DATA INPATH 'oci://bucket_name@namespace_name/movicepartition' INTO TABLE movie_table PARTITION {pa_month=202104};

步骤3:执行SELECT查询以查看表中的内容

select * from table_name limit 10;

查看表和分区的语法

show tables;
show paritions table_name;

相关问题