问题标签 [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 分区
我正在尝试基于在 GCS 中存储为镶木地板的文件实现配置单元表,路径类似于 gs://abc/dt=02-02-2019/hr=02(基于 UTC 的物理分区)
现在我想创建两个配置单元表,其中逻辑分区基于时区,一个用于 UTC,另一个用于 CET,我如何进行分区,以便基于日期和小时的分区根据时区选择 dt 和 hr 值。如果它还可以适应日光节约等,那就太好了。
我正在使用气流创建外部蜂巢表。
apache-spark - pyspark - 从 Hive 分区列逻辑获取最新分区
我是 pySpark 的新手。我正在尝试使用 PySpark-dataframes 获取配置单元表的最新分区(日期分区),并按如下方式完成。但我确信使用数据框函数(而不是编写 SQL)有更好的方法。您能否分享有关更好方法的意见。
该解决方案是扫描 Hive 表上的整个数据以获取它。
hive - 如何将查询结果分区为输入?
我是 hive 的新手,所以有一个基本问题:如何创建一个查询,以便该查询的结果以特定方式分区?
例如:
在那个例子中,我希望 tbl_y 也被分区。
尝试这个不起作用:
这里的诀窍是什么?我应该先定义分区表并将结果插入吗?
hive - 蜂巢面试问题中的分区
1)如果分区列没有数据,那么当你查询它时,你会得到什么错误?
2)如果某些行没有分区列,这些行将如何处理?会不会有数据丢失?
3)为什么需要对数字列进行分桶?我们也可以使用字符串列吗?流程是什么?您将在什么基础上选择分桶柱?
4) 内部表的详细信息是否也会存储在 Metastore 中?还是只存储外部表的详细信息?
5)什么类型的查询,只在映射器端而不是在reducer中运行,反之亦然?
hive - 在分区表上插入覆盖不会删除现有数据
我正在尝试在分区表上运行插入覆盖。插入覆盖的选择查询完全省略了一个分区。这是预期的行为吗?
表定义
表数据
查询
它不会从表中删除任何数据
它从表中删除预期的 2 行。
在分区表的情况下,这是 Hive 的预期行为吗?
regex - 我们如何使用正则表达式删除 hive 中的分区。是否可以?
我正在尝试运行以下
这给了我一个例外
我找不到类似的东西。我确实在 SO 中的某个问题上看到了一个答案,但它不起作用。
任何帮助表示赞赏。
hive - hive 中允许的分区列数据类型有哪些?
我很确定像 STRUCT 这样的复杂类型不能是分区列的类型。但我不确定所有原始类型是否有效。我已经阅读了很多文档,但没有找到任何东西。
hive - 由于内存导致 Hive 查询中的问题
我们有插入查询,我们试图通过从非分区表中读取数据来将数据插入分区表。
询问 -
表有 34 列,主表中的记录数取决于我们每天收到的输入文件的大小。并且我们在每次运行中插入的分区数(part_col1、part_col2)可能从 4000 到 5000 不等
有时此查询因以下问题而失败。
2019-04-28 13:23:31,715 Stage-1 map = 95%, reduce = 0%, Cumulative CPU 177220.23 sec 2019-04-28 13:24:25,989 Stage-1 map = 100%, reduce = 0%,累积CPU 163577.82 SEC MAPREDUCE总累积CPU时间:1天21小时26分17秒820秒结束工作= job_15556004136988888888_155295在作业期间出现错误,在作业期间出现错误,从ID:task_1556004136988_155295_m_000004(以及更多)来自作业 job_1556004136988_155295 失败次数最多的任务(4):----- 任务 ID:task_1556004136988_155295_m_000000
----- 此任务的诊断消息:容器启动异常。容器 id:container_e81_1556004136988_155295_01_000015 退出代码:255 堆栈跟踪:ExitCodeException exitCode=255:在 org.apache.hadoop.util.Shell.runCommand(Shell.java:563) 在 org.apache.hadoop.util.Shell.run(Shell. java:460) 在 org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:748) 在 org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.launchContainer(LinuxContainerExecutor.java:305) 在 org .apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:356) 在 org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:
当前的蜂巢属性。
使用 Tez 引擎 -
根据其他团队的意见,我们将引擎更改为 mr 并且属性是 -
随着这些属性查询完成几次,没有任何错误。
我如何调试这些问题,是否有任何我们可以设置的配置单元属性,以便我们将来不会遇到这些问题。
hive - 如何将一个分区的数据插入/复制到配置单元中的多个分区?
我的蜂巢表中有数据day='2019-01-01'
,我想将相同的数据复制到整个 2019 年 1 月。(即在'2019-01-02'
, '2019-01-03'
... '2019-01-31'
)
我正在尝试关注,但数据仅插入“2019-01-02”而不是“2019-01-03”。
apache-spark - Hive - 使用分区复制数据库模式并在另一个 hive 实例中重新创建
我已将具有分区配置单元表的数据库的数据和文件夹结构从一个 HDFS 实例复制到另一个实例。
我怎样才能对 hive 元数据做同样的事情?我需要新的 HDFS 实例的配置单元来使用其现有分区定义此数据库及其表,就像它在原始位置中一样。而且,当然,他们通常需要在更新 hdfs 外部表位置时维护其原始模式。
乐于使用直接的 hive 命令、spark 或任何开源且随时可用的通用 CLI 实用程序。我没有实际的 hadoop 集群(这是云存储),所以请避免依赖 map reduce/etc(如 Sqoop)的答案。