hiveql相关内容

并行执行带有 IN 子句参数的 Hive 查询

我有一个像下面这样的 Hive 查询: select a.x as column from table1 a where a.y in ()联合所有select b.x as column from table2 b where b.y in () 我已将 hive.exec.parallel 设置为 true,这有助于我在 union all 之间的两个查询之间实现并行. 但是,我的 ..
发布时间:2021-12-08 11:40:43 其他开发

如何将 HiveQL 查询的结果输出到 CSV?

我们想将 Hive 查询的结果放入 CSV 文件.我认为命令应该是这样的: insert overwrite directory '/home/output.csv' 从表中选择书籍; 当我运行它时,它说它已成功完成,但我永远找不到该文件.我如何找到这个文件,或者我应该以不同的方式提取数据? 解决方案 虽然可以使用 INSERT OVERWRITE 从 Hive 中获取数据,但对于您的 ..
发布时间:2021-12-05 12:29:08 其他开发

指定从 Hive 插入生成的文件的最小数量

我在 AWS EMR 上使用 Hive 将查询结果插入到按日期分区的 Hive 表中.虽然每天的总输出大小相似,但生成的文件数量各不相同,通常在 6 到 8 个之间,但有时它只会创建一个大文件.我重新运行了几次查询,以防万一文件数量碰巧受到集群中节点可用性的影响,但它似乎是一致的. 所以我的问题是(a) 是什么决定了生成多少文件以及(b) 有没有办法指定最小文件数或(甚至更好)每个文件的最大 ..
发布时间:2021-11-27 10:06:25 其他开发

Hive:在主表上进行增量更新的最佳方式

所以我在 Hive 中有一个主表,它将存储我所有的数据. 我希望能够加载大约每个月的增量数据更新拥有大量数据,数十亿行.会有新数据以及更新的条目. 解决这个问题的最佳方法是什么,我知道 Hive 最近升级并支持更新/插入/删除. 我一直在想的是以某种方式找到将要更新的条目并将它们从主表中删除,然后插入新的增量更新.但是在尝试之后,插入非常快,但删除非常慢. 另一种方式是使用 ..
发布时间:2021-11-25 13:56:25 Java Web开发

如何在 Hive 中将 int 数组的元素连接到字符串

我正在尝试将 int 数组的元素连接到 蜂巢. 函数 concat_ws 仅适用于字符串数组,所以我尝试了 cast(my_int_array as string) 但它不起作用. 有什么建议吗? 解决方案 尝试使用/bin/cat 进行转换: from mytable select transform(my_int_array) using '/bin/cat' as ( ..
发布时间:2021-11-18 04:19:54 其他开发

Hive 中 Presto UNNEST 函数的等价物是什么

Presto 有一个 UNNEST 函数来分解由数组组成的列.Hive 有类似的吗?请参阅 Presto 此处的UNNEST 功能的文档. 解决方案 使用lateral view [outer] expand.横向视图首先将 UDTF 应用于基表的每一行,然后将结果输出行连接到输入行以形成具有提供的表别名的虚拟表. 这是从 Hive 迁移 Presto 文档的示例: SELECT学 ..
发布时间:2021-11-18 03:10:07 其他开发

如何在 hive sql 中将数组转换为字符串?

我想在 hive 中将数组转换为字符串.我想在没有 [[""]] 的情况下将 collect_set 数组值转换为字符串. 选择actor, collect_set(date) as grpdate from actor_table group by actor; 这样 [["2016-07-01", "2016-07-02"]] 会变成 2016-07-01, 2016-07-02 解 ..
发布时间:2021-11-18 03:03:07 其他开发

转义 Spark SQL 的用户输入

到目前为止,我一直在使用 JDBC 连接到 Spark 的 Thrift Server,并使用 JDBC 准备好的语句来逃避潜在的恶意用户输入. 我现在正在尝试将我们的代码直接移植到 HiveContext(即消除使用 Thrift Server),但我不太确定如何生成正确转义的 sql 语句... 想知道是否有人有正确的方法来做到这一点? 具体来说,我很想发表这个声明 va ..
发布时间:2021-11-14 23:26:08 其他开发

为什么'get_json_object'在spark和sql工具中运行时返回不同的结果

我开发了一个 hive 查询,它使用横向视图和 get_json_object 来解压一些 json.该查询使用 jdbc 客户端(dbvisualizer)针对 hive 数据库运行良好,但是当从 java 应用程序作为 spark sql 运行时,在相同的数据上,它不返回任何内容.我已将问题追溯到函数“get_json_object"返回的差异. 这个问题可以通过这种类型的查询来说明 ..
发布时间:2021-11-14 23:21:22 其他开发

如何识别 Hive 中字符串列的重复出现?

我在 Hive 中有这样的视图: id sequencenumber appname242539622 1A242539622 2A242539622 3A242539622 4 乙242539622 5 乙242539622 6 C242539622 7 D242539622 8 D242539622 9 D242539622 10 乙242539622 11 乙242539622 12D24 ..
发布时间:2021-11-14 23:17:32 其他开发

如何使用 Scala 从 Spark 更新 ORC Hive 表

我想更新一个 orc 格式的 hive 表,我可以从我的 ambari hive 视图更新,但无法从 sacla (spark-shell) 运行相同的更新语句 objHiveContext.sql("select * from table_name ") 能够看到数据,但是当我运行时 objHiveContext.sql("update table_name set column_n ..
发布时间:2021-11-14 23:00:19 其他开发

如何使用键取消嵌套数组,然后再加入?

我有两个表,分别是table1 和table2.table1 很大,而 table2 很小.另外,我有一个 UDF 函数,其接口定义如下: --table1--ID123--表2--类别一种乙Cd电子FGUDF: foo(id: Int): List[String] 我打算先调用UDF来获取对应的category:foo(table1.id),它会返回一个WrappedArray,然后我想加入 ..
发布时间:2021-11-14 22:58:56 其他开发

Hive UDF 用于选择除某些列之外的所有列

HiveQL(以及一般的 SQL)中的常见查询构建模式是选择所有列 (SELECT *) 或明确指定的一组列 (SELECT A, B,C).除了一组指定的列之外,SQL 没有用于选择所有列的内置机制. 有多种机制可以排除某些列,如 this SO question 但没有一个自然适用于 HiveQL.(例如,使用 SELECT * 创建一个临时表然后 ALTER TABLE DROP 其某 ..
发布时间:2021-11-14 22:29:09 其他开发

如何在查询结果中添加整数唯一 ID - __有效地__?

给定一个查询,select * from ...(可能是 CTAS 语句的一部分) 目标是添加一个额外的列,ID,其中 ID 是一个唯一的整数. select ... as ID,* from ... 附言 ID 不必是连续的(可能有间隙) ID 可以是任意的(不必表示结果集中的特定顺序) row_number 逻辑上解决了问题- select row_number() ..
发布时间:2021-11-14 22:11:49 其他开发

如何将多个语句传递到 Spark SQL HiveContext

例如,我想传递给 Spark SQL 的 Hive HQL 语句很少: set parquet.compression=SNAPPY;创建存储为镶木地板的表 MY_TABLE 作为 select * from ANOTHER_TABLE;select * from MY_TABLE limit 5; 以下不起作用: hiveContext.sql("set parquet.compressi ..
发布时间:2021-11-14 22:08:08 其他开发

查询 Parquet 记录中的嵌套数组

我正在尝试不同的方法来查询记录数组中的记录并显示完整的行作为输出. 我不知道哪个嵌套对象有字符串“pg".但我想查询特定对象.对象是否有“pg".如果“pg"存在,那么我想显示该完整行.如何在不指定对象索引的情况下在嵌套对象上编写“spark sql 查询".所以我不想使用 children.name 的索引 我的 Avro 记录: {"name": "父母","类型":"记录",“ ..
发布时间:2021-11-14 22:05:04 其他开发

写入 JDBC 表的 SparkSQL SQL 查询是什么?

用于 Spark 中的 SQL 查询. 对于read,我们可以通过 读取jdbc 创建临时表 jdbcTable使用 org.apache.spark.sql.jdbc选项 dbtable ...; 对于write,使用SQL将数据写入远程JDBC表的查询是什么? 注意:我希望它是 SQL 查询.请提供使用 SparkSQL 的 HiveContext.sql(...) 时可以写 ..
发布时间:2021-11-14 22:03:10 其他开发