问题标签 [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.
hive - 蜂巢按时间分区
我要实施
在蜂巢中
每天在特定时间运行此语句。但这总是错误的。
hive - 转换分区列后Hive分区列有分区效果吗?
例如,我有一个按列ym
(202001) 分区的表。
现在,有一个 SQL 转换ym
为其他时间格式:
分区列不是原始值时,是否还有分区效果?
Hive 是只扫描202001
分区范围还是整个表范围?
有这方面的官方文件吗?谢谢。
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:行已被另一个事务更新或删除(或未保存值映射不正确)
hadoop - Reg : hive 中查询优化器的效率
在阅读了查询优化技术之后,我开始了解以下技术。
我了解了分区和分桶之间的区别,以及何时使用它们,但我仍然对索引的实际工作方式感到困惑。索引的元数据存储在哪里?是存储它的名称节点吗?即,实际上在创建分区或存储桶时,我们可以在 hdfs 中看到多个目录,这解释了查询性能优化,但如何可视化索引?尽管图片中有分区和分桶,但它们真的在现实生活中使用了吗?
请帮我解决上述问题,hadoop 和 hive 开发者社区是否有专门的页面?
hive - msck 修复一个大表需要很长时间
我每天都会将数据摄取到 HDFS 中。从数据到 HDFS,我生成按日期和另一列分区的 Hive 表。一天有130G数据。生成数据后,我运行msck repair
. 现在每个 msck 任务超过 2 小时。在我看来,msck 会扫描整个表数据(我们有大约 200 天的数据),然后更新元数据。我的问题是:有没有办法让 msck 只扫描最后一天的数据,然后更新元数据以加快整个过程?顺便说一句,没有小文件问题,我已经在 msck 之前合并了小文件。
hadoop - 我们如何删除具有底层文件结构的 HIVE 表,而不破坏同一路径下的另一个表?
假设我们在同一个 HDFS 文件路径下创建了 2 个配置单元表。
我希望能够删除带有 HDFS 文件路径的表,而不会损坏同一共享路径中的其他表。
通过执行以下操作:
然后:
我删除了两个表文件,而不仅仅是我删除的那个。
在另一篇文章中,我找到了这个解决方案:
但是我无法通过 ALTER 语句,因为我收到了权限被拒绝错误(用户在表上没有 [ALTER] 权限)
还有其他解决方案吗?
shell - Hive ALTER 命令删除值超过 24 个月的分区
我有一个带有分区列 'val_dt'的配置单元表(consumer_data),这是一个字符串列,其值的日期格式 为 'yyyy-MM'。
我在表中有多个分区,从“2015-01”到“2020-04”。每个月都会将数据增量添加到表中,因此添加的下一个分区将是“2020-05”。
我想删除超过 24 个月的分区。此分区删除每月执行一次,仅保留最近 24 个月的数据。
如何构建 ALTER 命令以删除值超过 24 个月的分区。
我通过 linux shell 使用示例数据运行了以下直线查询,但它删除了所有分区。
hive - 蜂巢 | 在日期创建分区
我需要在 csv 文件之上创建一个外部配置单元表。CSV 有 col1、col2、col3 和 col4。
但是我的外部配置单元表应该按月分区,但我的 csv 文件没有任何月份字段。col1 是日期字段。我怎样才能做到这一点?
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)
scala - Hive sql - 在多个分区之间
我有一个按年、月和日分区的蜂巢表
我需要从中获取最近 7 天/分区的数据。寻找如何获取最近 7 天数据的第一步,例如:
但后来我面对桥下的巨魔。有没有办法通过多个分区在这两个日期之间选择数据?否则,有什么方法我不需要将多个分区更改为单个分区 YYYYMMDD?
要么是 scala,要么是蜂巢。
提前致谢