如何在 Hive 中使用日期按周动态分区表

2024-02-25

有一个“结果”表,其中包含 ID 和日期列。

创建表结果(Id int,日期字符串)

行格式分隔字段以“,”结尾

存储为文本文件;

Id Date

11 2012-04-06

12 2012-05-08

13 2013-02-10

14 2013-05-06

15 2013-08-22

16 2014-04-01

17 2014-05-06

18 2014-06-03

19 2014-07-24

20 2014-08-26

如何通过根据上述日期列中的年份和周号进行动态分区,将上述数据存储到“历史”表中。

在历史表中,它应该包含基于年和周的分区,输出必须是

历史分区

2012分区包含2个分区

2013分区包含3个分区

2014分区包含5个分区


当你想做动态分区时,我们需要这样做

-- 为 Hive 会话设置以下两个属性:

SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstric;

-- 创建一个历史表,分区如下

hive> create table Historical (Id int, Date String) partitioned by (year_part string, week_no int) row format delimited fields terminated by ',';

--将数据加载到历史表中并从结果表中插入,以便根据日期的年份对历史表中的数据进行分区,并根据结果表中的日期动态查找周数。 -- 请确保要分区的列应位于 select 语句的最后。如果存在一系列列,则分区(col3,col4)中的顺序应与 select 语句中的匹配。

hive> insert overwrite table Historical partition(year_part, week_no) select id, date, year(date) as year_part, WEEKOFYEAR(date) as week_no from Results;

-- 现在验证正确创建的分区以及填充的数据是否正确。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Hive 中使用日期按周动态分区表 的相关文章

  • ClassNotFoundException:org.apache.spark.SparkConf 与配置单元上的 Spark

    我正在尝试使用 SPARK 作为配置单元执行引擎 但出现以下错误 Spark 1 5 0 已安装 我正在使用 Hive 1 1 0 版本和 Hadoop 2 7 0 版本 hive emp表在 hive 中创建为 ORC 格式表 hive
  • Hive 函数替换列值中的逗号

    我有一个配置单元表 其中字符串列的值为 12 345 有没有什么方法可以在插入此配置单元表期间删除逗号的配置单元函数 您可以使用regexp replace string INITIAL STRING string PATTERN stri
  • Hive 安装问题:Hive Metastore 数据库未初始化

    我尝试在树莓派 2 上安装 Hive 我通过解压缩压缩的 Hive 包安装 Hive 并在我创建的 hduser 用户组下手动配置 HADOOP HOME 和 HIVE HOME 运行 hive 时 出现以下错误消息 蜂巢 错误 Statu
  • 如何使用用户提供的 Hadoop 正确配置 Spark 2.4

    我想使用 Spark 2 4 5 当前稳定的 Spark 版本 和 Hadoop 2 10 2 x 系列中当前稳定的 Hadoop 版本 此外 我需要访问 HDFS Hive S3 和 Kafka http spark apache org
  • Hive - hive 中的逆透视功能

    我有两个表如下 Table A userid code code name property id 0001 1 apple id Y1234 0031 4 mango id G4567 0008 3 grape id H1209 0001
  • 如何在 Hive 中将字符串转换为毫秒时间戳

    我有一个字符串 20141014123456789 它代表一个毫秒时间戳 我需要将其转换为 Hive 中的时间戳 0 13 0 而不丢失毫秒 我尝试了这个 但 unix timestamp 返回一个整数 所以我丢失了毫秒 from unix
  • Hive 分区表上的 Spark 行为

    我用的是 Spark 2 实际上我不是执行查询的人 所以我不能包含查询计划 数据科学团队问过我这个问题 我们将 Hive 表划分为 2000 个分区并以 parquet 格式存储 当在 Spark 中使用相应的表时 执行器之间恰好执行了 2
  • 使用 Hive 自定义输入格式

    Update 好吧 事实证明以下不起作用的原因是因为我使用的是较新版本的InputFormat API import org apache hadoop mapred这是旧的与import org apache hadoop mapredu
  • 连接到 Hive 时使用 Spark 进行 Kinit

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • 使用 UDF 添加文件读取添加到 Hive 资源的文件

    我想知道如何读取使用添加的 Hive 资源ADD FILE来自乌德夫 例如 Hive gt add file users temp key jks Java中的UDF可以读取这个文件吗 在 Udf 中获取此文件的路径是什么 谢谢 大卫 一旦
  • Hive中group by后是否可以连接字符串字段

    我正在评估 Hive 需要在 group by 之后进行一些字符串字段连接 我找到了一个名为 concat ws 的函数 但看起来我必须显式列出所有要连接的值 我想知道是否可以在 Hive 中使用 concat ws 做这样的事情 这是一个
  • 使用 python 从 hive 读取数据时的性能问题

    我在 hive 中有一个表 其中包含 351 837 110 MB 大小 记录 我正在使用 python 读取该表并写入 sql server 在此过程中 从 hive 读取数据到 pandas dataframe 需要很长时间 当我加载整
  • 将日期字符串转换为“MM/DD/YY”格式

    我刚刚看到这个例子 我该如何解决这个问题 Hive 元存储包含一个名为 Problem1 的数据库 其中包含一个名为 customer 的表 customer 表包含 9000 万条客户记录 90 000 000 每条记录都有一个生日字段
  • hive sql查找最新记录

    该表是 create table test id string name string age string modified string 像这样的数据 id name age modifed 1 a 10 2011 11 11 11 1
  • 获取从开始日期到结束日期的活跃周数

    我的订阅数据如下所示 数据显示用户何时购买订阅 它有user id subscription id start date and end date 我已经得出wk start and wk end从中 user subscription i
  • hive 添加分区语句忽略前导零

    我在 hdfs 上有文件夹 user test year 2016 month 04 dt 25 000000 0 需要将上面的分区路径添加到test table 命令 ALTER TABLE test ADD IF NOT EXISTS
  • 使用 impala 按范围连接表的有效方法

    我第一个有下表 Range 包括值范围和附加列 row From To Country 1 1200 1500 2 2200 2700 3 1700 1900 4 2100 2150 The From and Toare bigint并且是
  • Sqoop 导出分区的 Hive 表

    我在尝试导出分区的 Hive 表时遇到了一些问题 这是否完全受支持 我尝试用谷歌搜索并找到一张 JIRA 票证 sqoop export connect jdbc mysql localhost testdb table sales exp
  • 将 Apache Zeppelin 连接到 Hive

    我尝试将我的 apache zeppelin 与我的 hive 元存储连接起来 我使用 zeppelin 0 7 3 所以没有 hive 解释器 只有 jdbc 我已将 hive site xml 复制到 zeppelin conf 文件夹
  • 适用于 Python 3.x 的 Hive 客户端

    是否可以使用 Python 3 x 连接到 hadoop 并运行 hive 查询 我正在使用Python 3 4 1 我发现可以按照这里写的方式完成 https cwiki apache org confluence display Hiv

随机推荐