问题标签 [hiveddl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2622 浏览

java - ALTER TABLE 添加默认值为 NULL 的列

我有一个表设施标题,我想更改它并添加几列。我希望新添加的列将默认值保持为空。我的表已经加载了 14 年的数据。因为它是 2002-2014 年的分区表,默认情况下这些新添加的列的值应该在表中为空。

更改表命令

当我在表上添加描述时,我可以看到列在末尾附加。当我从任何分区中选择 * 时,它会出错。

失败并出现异常 java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: org.apache.hadoop.io.IntWritable 无法转换为 org.apache.hadoop.io。可长写

我的表有 14 年的数据,我不希望通过将 null 放入 select 子句并提供别名来完成。

我尝试了从这里和从这里引用的东西。

任何人都可以帮助我我的表实际发生了什么。我一次丢失了 14 年的数据。

0 投票
2 回答
1501 浏览

hadoop - 我们如何使用 hive 获得 1000 个表的描述?

我有1000张桌子,需要describe <table name>;一一检查。您能否给我一个命令来一次获取“N”个表格,而不是一个一个地运行。

0 投票
1 回答
3341 浏览

sql - Hive 创建表 - 何时使用 VARCHAR 和 STRING 作为列数据类型

我正在尝试创建一个 HIVE 表。我不确定我们何时使用 VARCHAR 以及何时使用 String。如果我们使用 VARCHAR 那么我们是否必须像我们在 RDBMS 中定义的那样定义长度为 VARCHAR(10) 请帮助

0 投票
1 回答
4133 浏览

json - 从 JSON 数据创建配置单元表

我有一个包含 Json 数据的文件,格式如下:

前任:

上面的 Json 是一个有效的 Json。我想使用 JsonSerde 在上述表单的数据之上创建一个配置单元表。

0 投票
1 回答
3873 浏览

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

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

我的问题是,创建表后,它会为每个分区生成多个文件 - 而我只希望每个分区有一个文件。

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

0 投票
1 回答
4818 浏览

hive - 如何使用列的值范围对 Hive 表进行分区

我有一个带有 2 列的 Hive 表。员工 ID 和薪水。

数据如下所示。

我想根据薪资列创建分区。例如薪资范围为 10000 到 20000、20001 到 30000 的分区。

我如何做到这一点。

0 投票
1 回答
362 浏览

hive - Hive 中 cast 和 alter 的不同动作

目前,我尝试在 hive 中合并几个表。实现这一点后,我发现某些列类型不正确。我认为有些应该是float,但它变成了某种类型string。然后我运行了 alter 命令:alter table table_name change column_name column_name float;它返回了错误信息:

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法更改表。以下列的类型与各自位置的现有列不兼容

我认为这意味着 hive 不支持将字符串转换为浮动,如表所示。但我发现我可以在同一列上进行投射并获得想要的结果。这让我很困惑为什么改变和演员之间会有不同的结果。这背后的逻辑是什么。谢谢。

0 投票
1 回答
35 浏览

sql - 复制的蜂巢表比原来的大得多

我有一张桌子table1,然后我用“ create table table2 as select * from table1 where partition_key is not null;”来复制它。table1只是463.2 GB,但table2事实证明是2.8 TB。为什么会这样?

PS:我刚刚显示了分区,似乎 table1 和 table2 的分区不同。所以我补充我的问题:如何复制表并保留其原始分区信息?

表格1:hdfs dfs -du -s -h /user/hive/warehouse/map_services.db/userhistory1/*

表2:hdfs dfs -du -s -h /user/hive/warehouse/map_services.db/userhistory2/*

0 投票
1 回答
71 浏览

hive - 位置在蜂巢

在创建 hive 表时,我可以将“位置”指向 hdfs 中存在数据的位置吗?我还需要加载数据还是直接在 hive 上提供数据?

0 投票
2 回答
5379 浏览

hadoop - Apache Hive:如何在表中的特定位置添加列

我想在配置单元表中的特定位置添加一个新列。当我添加新列时,它会转到最后一个位置。