hiveql相关内容

进入Hive表-非分区表到具有多个分区的分区表-无法插入目标表,因为列号/类型

当我尝试插入分区表时,出现以下错误: SemanticException [错误10044]:行1:23无法插入目标表,因为列号/类型不同:表insclause-0有6列,并且3列已分区,我们不需要任何必须转储的过滤器/存储从非分区表到分区表. 我的桌子: 来源: id名称工资深度1 sai 1000销售2 syam 2000小时3 sundar 3000银行 目标: ..
发布时间:2021-05-14 19:05:28 其他开发

从unix_time计算开始时间和结束时间之间的差异(以秒为单位)yyyy-MM-dd HH:mm:ss

我仍在学习SQL,但我在SQL Server或Postgreы上找到了几种解决方案,但在HUE上似乎无法使用 DATEDIFF ,仅允许我计算两天之间的差额秒,分钟不可用.非常欢迎您的帮助. 我能够用 substring_index 分割时间戳,但是后来我找不到正确的方法来比较start_time并将其减去end_time以获得准确的秒数.我找不到时间函数,所以我假设我应该根据时间戳进行计算 ..
发布时间:2021-05-14 19:05:07 其他开发

使用like运算符检查配置单元中的模式

我需要从配置单元表中检索列,该配置单元必须以大写字母开头并以数字结尾.我使用了这个查询 从tab1中选择*,其中col1如'[A-Z]%[0-9]'; 但是无法检索记录,只能得到空结果. 解决方案 rlike/regexp 从tab1中选择*,其中col1类似于'^ [A-Z].* [0-9] $'; ..
发布时间:2021-05-14 19:05:03 其他开发

蜂巢插入中途失败时会发生什么?

假定一个插入预期将在蜂巢中加载100条记录,并且已插入40条记录,并且由于某种原因插入失败.事务将完全回滚,并撤消插入的40条记录吗?或即使在插入查询失败后,我们也会在配置单元表中看到40条记录吗? 解决方案 该操作是原子操作(即使对于非ACID表也是如此):如果使用HiveQL插入或重写数据,则该操作会将数据写入临时位置,并且仅当命令成功将文件移动到表位置(如果 INSERT OVERW ..
发布时间:2021-05-14 19:04:47 其他开发

蜂巢:列名称中Concat的用法

我正在尝试从具有列名称为year_2016,year_2017,year_2018等的表中获取数据.我不确定如何从该表中获取数据.数据如下: |count_of_accidents |年_2016 |年_2017 |年_2018 || -------------------- | ----------- || ---------- | ---------- ||15 |12 |5 |1 ||5 ..
发布时间:2021-05-14 19:04:44 其他开发

Hive查询语言中的主键和索引是否可行?

我们正在尝试将oracle表迁移到配置单元并对其进行处理.当前,oracle中的表具有主键,外键和唯一键约束. 我们可以在蜂巢中复制相同的东西吗? 我们正在对实现方法进行一些分析. 解决方案 配置单元Hive 0.7.0( HIVE-417 )并在Hive 3.0中删除( HIVE-18448 ),请阅读此注释吉拉该功能在Hive中完全没有用.这些索引对于大数据来说太昂贵了,R ..
发布时间:2021-05-14 19:04:40 数据库

蜂巢数据记录的顺序对于联接表是否重要?

我想知道在连接两个表时数据记录的顺序是否重要(在性能方面)? P.S.我没有使用任何地图端连接或存储桶连接. 谢谢! 解决方案 一方面,顺序无关紧要,因为在shuffle连接期间,映射器并行读取文件,文件也可能在几个映射器之间分割,反之亦然,一个映射器可以读取几个文件,然后映射器输出传递到每个reducer.而且即使数据是有序的,由于并行性,它也不会按其顺序进行读取和分发.另一方面 ..
发布时间:2021-05-14 19:04:35 其他开发

配置单元聚合查询从缓存中获取错误的值

我正在配置单元会话上运行聚合查询. hive>从表名称中选择count(1); 它第一次运行mapreduce程序并返回结果.但是对于当天晚些时候的连续运行,它会从缓存中返回相同的计数(尽管表每小时更新一次).这是错误的计数. 尝试:- 设置hive.metastore.aggregate.stats.cache.enabled = false hive.cache. ..
发布时间:2021-05-13 20:21:30 其他开发

选择表是否在Apache Hive中存在

我有一个配置格式的蜂巢查询 select...在(some_condition)上从table1左联接(从table2中选择....) 根据环境, 表2 可能不存在.因此,如果只有table2存在,我想加入,否则就忽略子查询. 以下查询返回table_name(如果存在) 在{DB_NAME}中显示表,例如"{table_name}" 但是我不知道如何将其集成到查询中以仅在查询 ..
发布时间:2021-05-13 20:16:24 其他开发

我可以按/存储通过"CREATE TABLE AS SELECT ....."创建的表进行聚类吗?在蜂巢?

我正在尝试在Hive中创建一个表 CREATE TABLE BUCKET_TABLE AS从表1中选择a.* a左联接表2 b打开(a.key = b.key),其中b.key是空的(键)聚集到1000个桶中; 此语法失败-但我不确定是否有可能执行此组合语句.有任何想法吗? 解决方案 在这个问题上出现问题,发现没有提供答案.我进一步看了一下,并在Hive文档中找到了答案. 由 ..
发布时间:2021-05-13 20:16:15 其他开发

Reg:配置单元中查询优化器的效率

在阅读了有关查询优化技术的知识之后,我开始了解以下技术. 1.索引-位图和BTree2.分区3.桶装 我得到了分区和存储分区以及何时使用它们的区别,但是我仍然对索引的实际工作方式感到困惑.索引的元数据存储在哪里?是存储它的namenode吗?即,实际上,在创建分区或存储桶时,我们可以在hdfs中看到多个目录,这些目录解释了查询性能的优化,但如何可视化索引呢?尽管存在分区和存储桶的问题,但它 ..
发布时间:2021-05-13 20:16:03 其他开发

蜂巢:指定组的总和(HiveQL)

我有一张桌子: 关键产品代码成本1英国201美国101欧盟52英国32欧盟6 我想找到每个“键"组的所有乘积之和,并追加到每一行.例如,对于键= 1,找到所有产品的成本总和(20 + 10 + 5 = 35),然后将结果附加到与键= 1对应的所有行中.因此,最终结果: 关键产品代码成本total_costs1英国20 351美国10 351欧盟5 352英国3 92欧盟6 9 我宁愿不 ..
发布时间:2021-05-13 20:15:16 其他开发

使用Hive SQL提取不同字符之间的字符串

我有一个名为geo_data_display的字段,其中包含国家,地区和dma.这三个值包含在=和&之间.字符-第一个"="和第一个“&"之间的国家/地区,第二个"="和第二个“&"之间的区域和第三个"="和第三个“&"之间的DMA.这是表格的可复制版本.国家/地区始终是字符,但地区和DMA可以是数字或字符,并且DMA并非在所有国家/地区都存在. 一些样本值是: country = us ..
发布时间:2021-05-13 20:15:01 其他开发

检查配置单元表是否在给定列上分区

我有一个配置单元表的列表,其中一些已分区.给定一列,我需要检查特定的表是否在该列上进行了分区.我搜索后发现, desc格式的表名将导致表的所有详细信息.由于我必须遍历所有表并获取列表,因此将desc格式化将无济于事.还有其他方法可以做到吗? 解决方案 您可以直接连接到元存储并对其进行查询: metastore =#选择d."NAME"作为数据库,t."TBL_NAME"作为TABLE, ..
发布时间:2021-05-13 20:14:58 其他开发

蜂巢减速器数量分组和计数(不同)

有人告诉我count(distinct)可能会导致数据偏斜,因为只使用了一个reducer. 我使用了一个包含50亿条数据和2个查询的表进行了测试, 查询A: 从tableA选择计数(与columnA不同) 查询B: 从中选择count(columnA)(从tableA组中按columnA组选择columnA)a 实际上,查询A大约需要1000-1500秒,而查询B则需要5 ..
发布时间:2021-05-13 20:14:52 其他开发

在查询结果sql中插入多余的行

给出一个带有不规则时间戳记条目的表,“中断"表示没有中断.必须以固定的5分钟间隔插入(关联的数据可以/将为NULL). 我当时正在考虑获取开始时间,创建一个具有窗口功能并向开始时间增加5分钟间隔的子查询-但我只能考虑使用row_number来增加值. WITH数据为(选择ID,数据,转换(日期和时间为双精度)* 1000为时间(毫秒)来自t1),-原始数据start_times as(选 ..
发布时间:2021-04-29 19:40:24 其他开发