标签: hiveddl

如何将列添加到现有的配置单元分区表?

alter table abc add columns (stats1 map<string,string>, stats2 map<string,string>)
Run Code Online (Sandbox Code Playgroud)

我已经用上面的查询改变了我的表。但是在检查数据后,我得到了两个额外列的 NULL。我没有得到数据。

截屏

hive partitioning hive-partitions hiveddl

7
推荐指数
3
解决办法
2万
查看次数

DROP PARTITION 是否从 HIVE 中的外部表中删除数据?

HIVE 中的外部表按年、月和日进行分区。

那么以下查询是否会从此查询中引用的特定分区的外部表中删除数据?:-

ALTER TABLE MyTable DROP IF EXISTS PARTITION(year=2016,month=7,day=11);
Run Code Online (Sandbox Code Playgroud)

hive external-tables hive-partitions hiveddl

5
推荐指数
1
解决办法
2万
查看次数

hive中分区列允许的数据类型有哪些?

我非常确定像 STRUCT 这样的复杂类型不能是分区列的类型。但我不确定所有原始类型是否都有效。我读了很多文档但没有找到任何东西。

hive partition hive-metastore hive-partitions hiveddl

5
推荐指数
1
解决办法
1682
查看次数

使用一个文件在 Hive 中创建表

我正在使用以下命令在 Hive 中创建一个新表:

CREATE TABLE new_table AS select * from old_table;
Run Code Online (Sandbox Code Playgroud)

我的问题是在创建表后,它为每个分区生成多个文件 - 而我只需要每个分区一个文件。

我如何在表中定义它?谢谢!

hive create-table hive-partitions hiveddl

4
推荐指数
1
解决办法
3443
查看次数

从 Hive 中的现有表创建新表

我正在尝试使用 Hive 查询使用现有表创建一个新表。
创建新表时,我想添加一个新列并为所有行插入当前时间戳。例如:

退出表:

|user_id|user_name|user_address|
|1001   |userName |address     |
Run Code Online (Sandbox Code Playgroud)


新表:

|user_id|user_name|user_address|creation_date|
|1001   |userName |address     | 123421342134|
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 JDBCTemplate 执行此查询。

我尝试过的:

Create table newTable Select * from existingtable;
Run Code Online (Sandbox Code Playgroud)

但这会复制使用旧值创建新表,我想在表创建过程中添加新列并插入值。



请帮忙。

hive create-table jdbctemplate hiveql hiveddl

4
推荐指数
1
解决办法
959
查看次数

如何使用 Hive 使用单个 hdfs 路径创建 n 个外部表

是否可以使用 Hive 创建 n 个指向单个 hdfs 路径的外部表。如果是,有什么优点和局限性。

hive create-table external-tables hdfs hiveddl

3
推荐指数
1
解决办法
1906
查看次数