我尝试创建用于OCI对象存储的Hive外部表,但无法从hive分区表中搜索任何数据。查询select * from table_name limit 10;没有输出,只有配置单元分区表有问题。对于普通的非分区表,它的工作方式与预期一致。
发布于 2021-08-08 00:09:41
请按照此处的文档Using the HDFS Connector with Spark了解前提条件。除此之外,将数据加载到分区表中的方式与普通的非分区表不同。提到分区数据的手动工作很少,这可以通过执行以下查询来完成
将数据输入{location}加载到表{partitioned_table}分区{name=value}中
为了更好地理解它,让我们考虑一下在上述文档中上传到对象存储存储桶中的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;https://stackoverflow.com/questions/68688274
复制相似问题