问题标签 [hive-partitions]

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 回答
50 浏览

hive - 蜂巢按时间分区

我要实施

在蜂巢中

每天在特定时间运行此语句。但这总是错误的。

0 投票
1 回答
17 浏览

hive - 转换分区列后Hive分区列有分区效果吗?

例如,我有一个按列ym(202001) 分区的表。

现在,有一个 SQL 转换ym为其他时间格式:

分区列不是原始值时,是否还有分区效果?

Hive 是只扫描202001分区范围还是整个表范围?

有这方面的官方文件吗?谢谢。

0 投票
1 回答
80 浏览

java - 使用 Spring JPA 和 Hibernate 更新数据库分区上的记录时出错

我在更新 Hibernate 实体时遇到异常,以下是详细信息 -

我创建了如下表分区 --case --case_active --case_inactive

- - - - - - - -脚本 - - - - - -

CREATE TABLE user_active ( CHECK (case_state <>'CLOSED') ) INHERITS (case); CREATE TABLE case_inactive ( CHECK (case_state ='CLOSED') ) INHERITS (case); ------------ Update Triggers------------- -- Trigger for - active case (closing) -- Move record from active_case to inactive_case CREATE OR REPLACE FUNCTION active_case_partition_trigger_fn() RETURNS TRIGGER AS $$ BEGIN IF (NEW.case_state = 'CLOSED' ) THEN INSERT INTO case_inactive VALUES (NEW.*); DELETE FROM case_active WHERE case_id = NEW.case_id; --RETURN NULL; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER active_case_partition_trigger BEFORE UPDATE ON case_active FOR EACH ROW EXECUTE PROCEDURE active_case_partition_trigger_fn();

-- Trigger for - Inactive case (Reopening) -- Move record from inactive_case to active_case

CREATE OR REPLACE FUNCTION inactive_case_partition_trigger_fn() RETURNS TRIGGER AS $$ BEGIN IF (NEW.case_state <> 'CLOSED') THEN INSERT INTO case_active VALUES (NEW.*); DELETE FROM case_inactive WHERE case_id = NEW.case_id; update movement set active = true where document_id = new.case_id; --RETURN NULL; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER inactive_case_partition_trigger BEFORE UPDATE ON case_inactive FOR EACH ROW EXECUTE PROCEDURE inactive_case_partition_trigger_fn();

更新休眠实体“案例”(映射到“案例”表)的异常 -

org.springframework.orm.jpa.JpaOptimisticLockingFailureException:行已被另一个事务更新或删除(或未保存值映射不正确)

0 投票
1 回答
126 浏览

hadoop - Reg : hive 中查询优化器的效率

在阅读了查询优化技术之后,我开始了解以下技术。

我了解了分区和分桶之间的区别,以及何时使用它们,但我仍然对索引的实际工作方式感到困惑。索引的元数据存储在哪里?是存储它的名称节点吗?即,实际上在创建分区或存储桶时,我们可以在 hdfs 中看到多个目录,这解释了查询性能优化,但如何可视化索引?尽管图片中有分区和分桶,但它们真的在现实生活中使用了吗?

请帮我解决上述问题,hadoop 和 hive 开发者社区是否有专门的页面?

0 投票
1 回答
810 浏览

hive - msck 修复一个大表需要很长时间

我每天都会将数据摄取到 HDFS 中。从数据到 HDFS,我生成按日期和另一列分区的 Hive 表。一天有130G数据。生成数据后,我运行msck repair. 现在每个 msck 任务超过 2 小时。在我看来,msck 会扫描整个表数据(我们有大约 200 天的数据),然后更新元数据。我的问题是:有没有办法让 msck 只扫描最后一天的数据,然后更新元数据以加快整个过程?顺便说一句,没有小文件问题,我已经在 msck 之前合并了小文件。

0 投票
1 回答
313 浏览

hadoop - 我们如何删除具有底层文件结构的 HIVE 表,而不破坏同一路径下的另一个表?

假设我们在同一个 HDFS 文件路径下创建了 2 个配置单元表。

我希望能够删除带有 HDFS 文件路径的表,而不会损坏同一共享路径中的其他表。

通过执行以下操作:

然后:

我删除了两个表文件,而不仅仅是我删除的那个。

在另一篇文章中,我找到了这个解决方案:

但是我无法通过 ALTER 语句,因为我收到了权限被拒绝错误(用户在表上没有 [ALTER] 权限)

还有其他解决方案吗?

0 投票
1 回答
472 浏览

shell - Hive ALTER 命令删除值超过 24 个月的分区

我有一个带有分区列 'val_dt'的配置单元表(consumer_data),这是一个字符串列,其值的日期格式 为 'yyyy-MM'

我在表中有多个分区,从“2015-01”到“2020-04”。每个月都会将数据增量添加到表中,因此添加的下一个分区将是“2020-05”。

我想删除超过 24 个月的分区。此分区删除每月执行一次,仅保留最近 24 个月的数据。

如何构建 ALTER 命令以删除值超过 24 个月的分区。

我通过 linux shell 使用示例数据运行了以下直线查询,但它删除了所有分区。

0 投票
2 回答
411 浏览

hive - 蜂巢 | 在日期创建分区

我需要在 csv 文件之上创建一个外部配置单元表。CSV 有 col1、col2、col3 和 col4。

但是我的外部配置单元表应该按月分区,但我的 csv 文件没有任何月份字段。col1 是日期字段。我怎样才能做到这一点?

0 投票
1 回答
3885 浏览

sql - 使用 Presto 插入静态配置单元分区

假设我想要INSERT INTO一个静态配置单元分区,我可以这样做Presto吗?

PARTITION关键字仅适用于 hive。

引起:com.facebook.presto.sql.parser.ParsingException:第 1:44 行:输入“PARTITION”不匹配。期望:'(',在 com.facebook.presto.sql.parser.ErrorHandler.syntaxError(ErrorHandler.java:109)

0 投票
1 回答
64 浏览

scala - Hive sql - 在多个分区之间

我有一个按年、月和日分区的蜂巢表

我需要从中获取最近 7 天/分区的数据。寻找如何获取最近 7 天数据的第一步,例如:

但后来我面对桥下的巨魔。有没有办法通过多个分区在这两个日期之间选择数据?否则,有什么方法我不需要将多个分区更改为单个分区 YYYYMMDD?

要么是 scala,要么是蜂巢。

提前致谢