问题标签 [hive-table]

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 投票
1 回答
136 浏览

hive - Hive - 从 hdfs 中三个 csv 文件的特定数据创建 hive 表

我有三个.csv文件,每个文件都在不同的 hdfs 目录中。我现在想用这三个文件中的数据制作一个 Hive 内部表。我想要第一个文件的四列,第二个文件的三列和第三个文件的两列。第一个文件与第二个文件共享一个唯一的 id 列,第三个文件与第三个文件共享另一个唯一的 id 列。两个唯一 ID 都存在于第二个文件中;使用这些 id 我想左外连接来制作表格。

文件 1:'/directory_1/sub_directory_1/table1_data_on_01_01_2014.csv'
文件 2:'/directory_2/sub_directory_2/table2_data_on_01_01_2014.csv'
文件 3:'/directory_3/sub_directory_3/table3_data_on_01_01_2014.csv'

文件1的内容:

文件2的内容:

文件 3 的内容:

我现在想制作一个像这样的内部表:

我如何做到这一点?

0 投票
2 回答
379 浏览

hive - Hive - 从三个外部表创建一个内部表

我在 HIVE 中有三个外部表:

表格1:

表2:

表3:

我现在想创建一个托管表,在我的两个唯一键列上的表上方左外连接,如下所示:

我该怎么做呢?

编辑1:
这是我能想到的,从两张桌子加入。我仍然无法弄清楚如何将三个表连接成一个表:

编辑2:
我刚刚意识到加入很昂贵。那么,有什么我可以使用分区来做到这一点的吗?

0 投票
1 回答
512 浏览

hadoop - Hive 外部表 - 删除分区

面临一个奇怪的问题。Alter table删除分区的命令适用于 > 或 < 或 >= 或 <= 符号,但不适用于 = 检查。

工作命令:

命令不起作用并引发错误,指出分区不存在:

当我这样做时show partitions,我可以看到“20231230”分区。

注:bizdate是一个varchar(10)

0 投票
0 回答
141 浏览

apache-spark-sql - ALTER TABLE table ADD IF NOT EXISTS PARTITION (state = '34' , city = '123') 没有在 temp/local 文件夹中添加分区

我正在研究 hive 表分区并使用 spark 客户端来触发请求。我已经创建了表并使用分区插入了数据。当我执行 select 语句时,我可以看到数据,但是当我添加分区时

第二次以后我无法获取数据。由于 spark 客户端在临时位置寻找分区文件夹temp/temp_table6,因此 spark 抛出如下异常

从第二次开始,未在 temp 文件夹下创建分区数据。

0 投票
0 回答
20 浏览

hive - 向 hive 表添加保留期

您能否让我知道如何为 Hive 表添加保留期。在下面的 URL 中,我可以看到不建议在托管表上使用分区发现和保留。我不明白为什么不推荐它。

  1. 我创建了一个表,将属性添加到表架构中。
  2. 只是为了确保我已经运行了命令MSCK REPAIR TABLE table_name SYNC PARTITIONS
  3. 我已将数据插入表中。根据保留期,分区应在 30 分钟后删除,但没有删除任何内容。我在这里错过了什么吗?预先感谢您的帮助

https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.0/using-hiveql/content/hive-manage-partitions.html