当前位置: 首页 > 知识库问答 >
问题:

在配置单元中的外部表中创建分区

魏鸿哲
2023-03-14

1-创建了源表

2-将数据从本地加载到源表

3-创建了另一个带有分区的表-partition_table

create external table1 ( name string, age int, height int)
location 'path/to/dataFile/in/HDFS';
alter table table1 add partition(age) 
location 'path/to/already/existing/partition'

我不确定如何在外部表中进行分区。有人能帮我一步一步地描述一下吗?。

共有1个答案

柯瀚海
2023-03-14

1.设置以下属性

设置hive.exec.dynamic.partition=true

设置hive.exec.dynamic.partition.mode=nonstrict

 类似资料:
  • 我有一个配置单元外部表,有3个分区列(a,B,C),现在我想从分区中删除B和C列。这样做可能吗?我已经尝试使用Alter table tab_name drop column col_name;---但它会抛出一个错误,说明无法删除分区列。

  • 插入覆盖表myTable分区(字段)从myTable中选择*,其中机器='xxxxx' 但是SELECT中的数据不会替换MyTable中的数据。

  • 我正在尝试在ORC文件上创建外部配置单元表。 但当我试图在创建的表上执行select操作时,会出现以下错误: 有什么建议吗??

  • 我有一个复杂的/嵌套的配置单元外部表,它是在HDFS顶部创建的(文件是avro格式的)。当我运行配置单元查询时,它会显示所有记录和分区。 然而,当我在Spark中使用相同的表时: 请注意,当我查看数据时,分区列不是底层保存数据的一部分,但当我通过hive查询表时,我可以看到它。当我尝试使用PySpark加载avro文件时,我也可以看到分区列: 所以我想知道那是什么样子?

  • 问题内容: 我每天都在“测试”文件夹下写入文件。例如: 我在创建的LOGS表中看不到任何数据。 但是,我使用创建表 我可以看到那几天的记录。 我想在我的HIVE表中的/ test目录下查看所有数据,而且/ test目录每天都填充有新文件。 问题答案: 选项1 为了支持子目录 如果您的Hive版本低于2.0.0,那么 选项2 创建一个分区表 如果使用标准约定保留目录,例如,而不是保留目录,将更易于管