【hive优化:大表关联数据倾斜问题】教程文章相关的互联网学习教程文章

hive里用shell脚本封装HiveF命令

hive里面有个hive -e 命令可以传参数,但是当hql语句多了以后,整个shell脚本会显得比较凌乱,当然有人可能会说hive -f可以实现直接调用一个file,bingo的确如此,但是还是有个很大的缺陷,就是这个不能传参数了,不能传参数在实际的工作中是无法忍受的。于是想到了封装一个命令HiveF,既能直接传入file,又能传参数。其实实现很简单,下面就把代码分享出来。当然还不是很完善,抛砖引玉吧。#!/bin/bash. /etc/profilecat $1 > $1....

hive 优化 (转)

Hive优化 Hive优化目标 在有限的资源下,执行效率更高 常见问题 数据倾斜map数设置reduce数设置其他 Hive执行 HQL --> Job --> Map/Reduce执行计划explain [extended] hql样例select col,count(1) from test2 group by col;explain select col,count(1) from test2 group by col; Hive表优化 分区静态分区动态分区 set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;分桶set hive.enforce.buc...

hive向表中执行insert语句报错问题【代码】【图】

执行以下插入语句报如下错误:insert into table log_orc select * from log_text;Query ID = atguigu_20210426104635_32601bfb-de63-411d-b4a0-a9f612b43c27 Total jobs = 1 Launching Job 1 out of 1 Number of reduce tasks determined at compile time: 1 In order to change the average load for a reducer (in bytes):set hive.exec.reducers.bytes.per.reducer=<number> In order to limit the maximum number of reducers...

Hive 商品案例【代码】

Hive指标案例 准备数据表结构指标计算准备数据 先创建txt表导入数据,然后将表数据导入ORC表中 -- createtable.hql drop database sale cascade; create database if not exists sale; create table sale.dimdate_ori( dt date, yearmonth int, year smallint, month tinyint, day tinyint, week tinyint, weeks tinyint, quat tinyint, tendays tinyint, halfmonth tinyint ) row format delimited fields terminated by ",";crea...

hive-sql【代码】

#原始示例数据#1,k1|k2|k3|k1#2,k1|k1|k5|k3|k6#3,k3|k6|k7|k8#建表语句CREATE TABLE IF NOT EXISTS words(id INT,kw STRING)ROW FORMAT delimitedFIELDS TERMINATED BY ‘,‘collection items TERMINATED BY ‘|‘;#加载数据(local从本地,否则从hdfs;overwrite覆盖原有数据)load data [local] inpath ‘J:/test.txt‘ [overwrite] into table words;#字段转行(拼接成1个字段),结果如下1 k11 k21 k31 k12 k12 k12 k52 k32 k...

Hive Bug修复:ORC表中array数据类型长度超过1024报异常

目前HVIE里查询如下语句报错:select * from dw.ticket_user_mtime limit 10;错误如下:17/07/06 16:45:38 [main]: DEBUG impl.RecordReaderImpl: merge = [{data range [22733, 19927580), size: 19904847 type: array-backed}]Failed with exception java.io.IOException:java.lang.ArrayIndexOutOfBoundsException: 102417/07/06 16:45:38 [main]: ERROR CliDriver: Failed with exception java.io.IOException:java.lang.Array...

hive 遇到的问题及解决方法【代码】

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby 此问题,原来从web 页面查看,是两个节点都变成了standy,所以要切换 hdfs haadmin -transitionToActive --forcemanual nn1 再次访问就...

Hive并行排序

set hive.optimize.sampling.orderby=true;set hive.optimize.sampling.orderby.number=10000;set hive.optimize.sampling.orderby.percent=0.1f;记录一下,Hive中并行排序参数;hive.optimize.sampling.orderby??? Default Value: false??? Added In: Hive 0.12.0 with HIVE-1402Uses sampling on order-by clause for parallel execution.hive.optimize.sampling.orderby.number??? Default Value: 1000??? Added In: Hive 0.12....

【Hive】JDBC操作

package com.java.hadoop.hive;2 3 import java.sql.Connection;4 import java.sql.DriverManager;5 import java.sql.PreparedStatement;6 import java.sql.ResultSet;7 import java.sql.SQLException;8 import java.sql.Statement;9 10 import org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Processor.drop_database; 11 import org.junit.Before; 12 import org.junit.Test; 13 14 public class TestHive { 15...

hive SQL的常用设置【代码】

遇到个情况,跑hive级联insert数据报错,可以尝试换个hive计算引擎 hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误1、配置mapreduce计算引擎 set hive.execution.engine=mr;2、配置spark计算引擎 set hive.execution.engine=spark;3、配置tez 计算引擎 set hive.execution.engine=tez;hive的sql操作与musql些许区别,比如hive没有group_concat,取而代之的是collect_set;...

sqoop将hive数据导出到关系型数据库

以下信息,只要根据自己的数据库的相应信息修改以下,即可,sqoop其实就是很简单的,一般hive数据存储为列式存储,所以要提前把要写到关系型数据库的数据写到一个text后缀的表里,然后才能导出到关系型数据库中。 还要特别注意写到关系型数据库中数据的格式要一一对应 #pg库相关信息database_connection="jdbc:postgresql://192.168.0.2:8080/db_name" database_username="user" database_password="pass" databaseTableName="te...

hive数据库手动迁移一个表

假设需要把集群q1下的hive数据库a下面的表a1迁移到集群q2下 1、将q1集群下的a1表对应的hdfs文件拷贝到q1集群下的/test/test 2、在集群q2的某个数据库下面创建hive的schema外部表,注意路径/test/test要填正确 3、如果是分区表的话,输入msck repair table zppanalysis1;修复分区,非分区表的话到第二步迁移后的表就可以用于查询了

Hive explain执行计划详解【代码】

Hive explain执行计划详解 HIVE提供了EXPLAIN命令来展示一个查询的执行计划,这个执行计划对于我们了解底层原理,hive 调优,排查数据倾斜等很有帮助 使用语法如下: EXPLAIN [EXTENDED | DEPENDENCY | AUTHORIZATION | ANALYZE] query explain 后面可以跟以下可选参数,注意:这几个可选参数不是 hive 每个版本都支持的 EXTENDED:加上 extended 可以输出有关计划的额外信息。这通常是物理信息,例如文件名。这些额外信息对我们用...

spark sql/hive小文件问题【代码】

针对hive on mapreduce 1:我们可以通过一些配置项来使Hive在执行结束后对结果文件进行合并: 参数详细内容可参考官网:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties1 2 3 4hive.merge.mapfiles 在 map-only job后合并文件,默认true hive.merge.mapredfiles 在map-reduce job后合并文件,默认false hive.merge.size.per.task 合并后每个文件的大小,默认256000000 hive.merge.smallfiles.avgsize ...