问题标签 [hiveddl]
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 - 只有当它有数据时,如何从另一个表中创建一个表?
请为此添加检查条件
- 如果表 a 有记录,那么应该创建表 b
- 如果表 a 没有记录,则不应创建表 b
hive - Hive 更新分区与 MSCK 修复
我有一张有数千个分区的表。我想将所有分区位置更改为 diff 集群。
例如:
对于表test_table和分区天=2021041600
旧位置:hdfs://cluster1/dir1/dir2/day=2021041600/\<files>
新位置:hdfs://cluster2/dir1/dir2/day=2021041600/\<files>
我可以使用 2 种方法来实现这一点。
- 我们可以获取所有分区的列表,并逐个更新每个分区的分区位置。
- 我们可以更改表的基本位置并在表上运行 MSCK 修复命令。
我的问题是我们会更好地采取哪种选择?
hive - Hive 3 中的 ALTER TABLE 问题
我在 AWS 中托管的最近更新的 EMR 6.0.0 集群中使用 HIVE 3.1.2,尝试在 hive 中执行简单查询时遇到了一些问题。有问题的查询如下:
我们正在执行查询的表有大约 600k 个分区并且是外部的。
Hive 的版本最近更新为 3.1.2,作为 EMR 6.0.0 中包含的整个包。奇怪的是,当我们使用 Hive 2.3.6 时,查询没有任何后顾之忧或任何辛苦工作。因此,我搜索了版本更新是否在执行 ALTER TABLE 时改变了某些内容,但我没有找到任何可能成为问题根本原因的相关内容。
服务器端显示的日志如下:
客户方面,这就是它向我展示的内容:
apache-spark - 从 ORC 到 hive 列的自定义列映射
我相信orc.force.positional.evolution
在配置单元表属性中使用我们可以强制位置演变,默认是模式演变。我有一个奇怪的需求,我需要提供自定义映射。比如我的orc架构如下
和我的蜂巢列名如下
有没有办法提供自定义映射,如 -
请注意,在这种情况下,位置演化和模式演化都不起作用。更改 ORC 架构或配置单元列名不是我的选择。提前致谢。
hadoop - Hive 将多个分区的 HDFS 文件加载到表中
我在 HDFS 中有一些两次分区的文件,其结构如下:
并希望尽可能优雅地将这些加载到蜂巢表中。我知道这样的典型解决方案是首先将所有数据加载到非分区表中,然后使用此处提到的动态分区将所有数据传输到最终表
但是,我的文件在实际数据中没有 datekey 和 coeff 值,它只在文件名中,因为它是这样分区的。那么,当我将这些值加载到中间表中时,我将如何跟踪它们呢?
一种解决方法是对每个 coeff 值和 datekey 进行单独的load data inpath
查询。这不需要中间表,但会很麻烦并且可能不是最佳的。
有没有更好的方法来做到这一点?
hadoop - 配置单元创建表的多个转义字符
我正在尝试将带有管道分隔符的 csv 加载到配置单元外部表中。数据值包含单引号、双引号、括号等。使用 Open CSV 版本 2.3
测试文件.csv
表创建为 -
输出 -
预期产出 -
问题是我们在数据中有多个转义序列/引号字符,因此我们需要包含所有这些字符。
hive - Hive 是否需要显式命令才能将数据从 HDFS 加载到表中
这有什么区别:
和
然后
sql - 使用 ALTER 添加新列后,数据错误地加载到 Hive 分区表中
我已经有一个 Hive 分区表。我需要在表中添加一个新列,所以我使用 ALTER 添加如下所示的列。
我有这样的最终表加载查询:
现在,当我今天的工作运行时,当我尝试查询决赛桌时,我收到以下错误
我可以弄清楚分区列周围发生了一些错误,但无法弄清楚出了什么问题..有人可以帮忙吗?
csv - 什么格式适用于 Hive LazySimpleSerDe
Hive 的格式到底是什么LazySimpleSerDe
?像 ParquetHiveSerDe 这样的格式告诉我 Hive 将以 parquet 格式读取 HDFS 文件。
但什么是LazySimpleSerDe
?鉴于 LazySimpleSerDe 是用于分隔文件的,为什么不将其称为类似CommaSepHiveSerDe
or的明确名称?TabSepHiveSerDe
hive - 在 HIVE 中删除酸表失败
我试图在 HIVE 中删除一个酸表,它会引发如下错误:
无法获取表:java.lang.Exception:ErrorCode:InternalError,消息:未启用酸表
DDL:</p>
那么我怎样才能放下这张桌子呢?