hiveql相关内容
当我尝试插入分区表时,出现以下错误: SemanticException [错误10044]:行1:23无法插入目标表,因为列号/类型不同:表insclause-0有6列,并且3列已分区,我们不需要任何必须转储的过滤器/存储从非分区表到分区表. 我的桌子: 来源: id名称工资深度1 sai 1000销售2 syam 2000小时3 sundar 3000银行 目标:
..
我仍在学习SQL,但我在SQL Server或Postgreы上找到了几种解决方案,但在HUE上似乎无法使用 DATEDIFF ,仅允许我计算两天之间的差额秒,分钟不可用.非常欢迎您的帮助. 我能够用 substring_index 分割时间戳,但是后来我找不到正确的方法来比较start_time并将其减去end_time以获得准确的秒数.我找不到时间函数,所以我假设我应该根据时间戳进行计算
..
我需要从配置单元表中检索列,该配置单元必须以大写字母开头并以数字结尾.我使用了这个查询 从tab1中选择*,其中col1如'[A-Z]%[0-9]'; 但是无法检索记录,只能得到空结果. 解决方案 rlike/regexp 从tab1中选择*,其中col1类似于'^ [A-Z].* [0-9] $';
..
我有日期时间字符串"2019-11-02T20:18:00Z" .如何在Hive HQL中将其转换为时间戳? 解决方案 如果要保留毫秒数,然后删除 Z ,将 T 替换为空格并转换为时间戳:/p> select timestamp(regexp_replace("2019-11-02T20:18:00Z",'^(.+?)T(.+?)Z $','$ 1 $ 2')); 结果: 20
..
假定一个插入预期将在蜂巢中加载100条记录,并且已插入40条记录,并且由于某种原因插入失败.事务将完全回滚,并撤消插入的40条记录吗?或即使在插入查询失败后,我们也会在配置单元表中看到40条记录吗? 解决方案 该操作是原子操作(即使对于非ACID表也是如此):如果使用HiveQL插入或重写数据,则该操作会将数据写入临时位置,并且仅当命令成功将文件移动到表位置(如果 INSERT OVERW
..
我正在尝试从具有列名称为year_2016,year_2017,year_2018等的表中获取数据.我不确定如何从该表中获取数据.数据如下: |count_of_accidents |年_2016 |年_2017 |年_2018 || -------------------- | ----------- || ---------- | ---------- ||15 |12 |5 |1 ||5
..
我们正在尝试将oracle表迁移到配置单元并对其进行处理.当前,oracle中的表具有主键,外键和唯一键约束. 我们可以在蜂巢中复制相同的东西吗? 我们正在对实现方法进行一些分析. 解决方案 配置单元Hive 0.7.0( HIVE-417 )并在Hive 3.0中删除( HIVE-18448 ),请阅读此注释吉拉该功能在Hive中完全没有用.这些索引对于大数据来说太昂贵了,R
..
我想知道在连接两个表时数据记录的顺序是否重要(在性能方面)? P.S.我没有使用任何地图端连接或存储桶连接. 谢谢! 解决方案 一方面,顺序无关紧要,因为在shuffle连接期间,映射器并行读取文件,文件也可能在几个映射器之间分割,反之亦然,一个映射器可以读取几个文件,然后映射器输出传递到每个reducer.而且即使数据是有序的,由于并行性,它也不会按其顺序进行读取和分发.另一方面
..
我正在配置单元会话上运行聚合查询. hive>从表名称中选择count(1); 它第一次运行mapreduce程序并返回结果.但是对于当天晚些时候的连续运行,它会从缓存中返回相同的计数(尽管表每小时更新一次).这是错误的计数. 尝试:- 设置hive.metastore.aggregate.stats.cache.enabled = false hive.cache.
..
我有下表: + ---------- + ---- +| customerID |名称|+ ---------- + ---- +|1 |拉姆|+ ---------- + ---- + 我希望输出为(列值的所有可能值): + ---------- + ---- +| customerID |名称|+ ---------- + ---- +|1 |拉姆||2 |手臂||3 |Mar |
..
我想创建一个查找最近2个月的SQL语句. 例如: 选择*从x开始其中sampledate
..
我有以下(非常简单的)Hive查询: 选择user_id,event_id,min(time)作为开始,max(time)作为结束,count(*)作为总计,count(interaction == 1)作为点击来自events_all按user_id,event_id分组; 该表具有以下结构: user_id event_id时间交互Ex833Lli36nxTvGTA1Dv juCUv
..
我有一个配置格式的蜂巢查询 select...在(some_condition)上从table1左联接(从table2中选择....) 根据环境, 表2 可能不存在.因此,如果只有table2存在,我想加入,否则就忽略子查询. 以下查询返回table_name(如果存在) 在{DB_NAME}中显示表,例如"{table_name}" 但是我不知道如何将其集成到查询中以仅在查询
..
我正在尝试在Hive中创建一个表 CREATE TABLE BUCKET_TABLE AS从表1中选择a.* a左联接表2 b打开(a.key = b.key),其中b.key是空的(键)聚集到1000个桶中; 此语法失败-但我不确定是否有可能执行此组合语句.有任何想法吗? 解决方案 在这个问题上出现问题,发现没有提供答案.我进一步看了一下,并在Hive文档中找到了答案. 由
..
在阅读了有关查询优化技术的知识之后,我开始了解以下技术. 1.索引-位图和BTree2.分区3.桶装 我得到了分区和存储分区以及何时使用它们的区别,但是我仍然对索引的实际工作方式感到困惑.索引的元数据存储在哪里?是存储它的namenode吗?即,实际上,在创建分区或存储桶时,我们可以在hdfs中看到多个目录,这些目录解释了查询性能的优化,但如何可视化索引呢?尽管存在分区和存储桶的问题,但它
..
我有一张桌子: 关键产品代码成本1英国201美国101欧盟52英国32欧盟6 我想找到每个“键"组的所有乘积之和,并追加到每一行.例如,对于键= 1,找到所有产品的成本总和(20 + 10 + 5 = 35),然后将结果附加到与键= 1对应的所有行中.因此,最终结果: 关键产品代码成本total_costs1英国20 351美国10 351欧盟5 352英国3 92欧盟6 9 我宁愿不
..
我有一个名为geo_data_display的字段,其中包含国家,地区和dma.这三个值包含在=和&之间.字符-第一个"="和第一个“&"之间的国家/地区,第二个"="和第二个“&"之间的区域和第三个"="和第三个“&"之间的DMA.这是表格的可复制版本.国家/地区始终是字符,但地区和DMA可以是数字或字符,并且DMA并非在所有国家/地区都存在. 一些样本值是: country = us
..
我有一个配置单元表的列表,其中一些已分区.给定一列,我需要检查特定的表是否在该列上进行了分区.我搜索后发现, desc格式的表名将导致表的所有详细信息.由于我必须遍历所有表并获取列表,因此将desc格式化将无济于事.还有其他方法可以做到吗? 解决方案 您可以直接连接到元存储并对其进行查询: metastore =#选择d."NAME"作为数据库,t."TBL_NAME"作为TABLE,
..
有人告诉我count(distinct)可能会导致数据偏斜,因为只使用了一个reducer. 我使用了一个包含50亿条数据和2个查询的表进行了测试, 查询A: 从tableA选择计数(与columnA不同) 查询B: 从中选择count(columnA)(从tableA组中按columnA组选择columnA)a 实际上,查询A大约需要1000-1500秒,而查询B则需要5
..
给出一个带有不规则时间戳记条目的表,“中断"表示没有中断.必须以固定的5分钟间隔插入(关联的数据可以/将为NULL). 我当时正在考虑获取开始时间,创建一个具有窗口功能并向开始时间增加5分钟间隔的子查询-但我只能考虑使用row_number来增加值. WITH数据为(选择ID,数据,转换(日期和时间为双精度)* 1000为时间(毫秒)来自t1),-原始数据start_times as(选
..