
hive
文章平均质量分 63
hzp666
这个作者很懒,什么都没留下…
展开
-
Datax抽取数据到hive中decimal类型操作
一、问题背景之前在做Datax数据同步时,发现源端binary、decimal等类型的数据无法写入hive字段。看了一下官网文档,DataX HdfsWriter 插件文档,是1-2年前的,当初看过部分源码其实底层hadoop是支持这些类型写入的,后来随着工作变动也忘了记录下来,借着近期datax群里又有人问起,勾起了回忆,索性改一下源码记录一下。很重要的一点:我们其实要知道,datax只不过是个集成了异构数据源同步的框架,真正的读取和写入都是数据源底层本身支持功能才能用,所以要想知道某个功能支不支持转载 2022-05-18 11:27:29 · 2143 阅读 · 0 评论 -
spark 或 hive报错:bigger than spark.driver.maxResultSize
异常信息:Job aborted due to stage failure: Total size of serialized results of 17509 tasks (2.0 GiB) is bigger thanspark.driver.maxResultSize (2.0 GiB)解决方案:spark.driver.maxResultSize默认大小为1G,指的是每个Spark action(如collect)所有分区的序列化结果的总大小限制,就是说,executor给driv.原创 2022-02-22 09:40:59 · 2105 阅读 · 0 评论 -
spark报错:The current account does not have the permission of database
异常信息:22/01/18 20:21:34 [main] WARN HiveSessionCatalog: The current account does not have the permission of database [adm], It may be a virtual database.Error in query: Table or view not found: `adm`.`adm_d07_cps_batch_det`; line 1 pos 14;'GlobalLimit原创 2022-02-22 09:39:36 · 886 阅读 · 0 评论 -
dockers报错:Cannot connect to the Docker daemon
异常信息:22/01/1413:58:44[Reporter]INFOYarnAllocator:Completedcontainercontainer_e118_5690061100801_24379300_01_000066onhost:BJLFRZ-Evil-153-70.hadoop.jd.local(state:COMPLETE,exitstatus:7)22/01/1413:58:44[Reporter]WARNYarnAllocator:Cont...原创 2022-02-22 09:38:20 · 1032 阅读 · 0 评论 -
spark报错OutOfMemoryError
异常信息:Job aborted due to stage failure: Task serialization failed:java.lang.OutOfMemoryError: GC overhead limit exceeded解决方案:GC太多导致任务失败,一般情况下是因数据不均导致某些executor压力较大导致。用户排查下数据,并根据数据修复下程序。...原创 2022-02-22 09:35:02 · 1375 阅读 · 0 评论 -
hive表数据文件存在子目录的情况,查询不到数据
解决方案:1.对于分区表,数据文件上层目录非分区目录,增加参数:spark.sql.sources.readPartitionWithSubdirectory.enabled=true2.对于非分区表,数据文件上层目录非表目录,增加参数:spark.sql.nonPartitionedTable.subdirectory.read.enabled=true...原创 2022-02-22 09:32:59 · 1723 阅读 · 0 评论 -
hive操作表分区HiveException:Unable to alter partition
异常信息:2021-10-16 03:36:22 INFO Error in query: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter partition. JD:用户[mart_cmo_ge_bi]没有表[app.app_fin_small_b_sku_det(mart:mart_cmo,owner:mart_cmo)](敏感表[false])的[ALTER_PARTITION]权限;解决方案:添加原创 2022-02-22 09:32:00 · 1099 阅读 · 0 评论 -
hive的insert语句列顺序问题以及新增字段遇到的坑
讲问题之前,先简单创建一个表:CREATE TABLE IF NOT EXISTS `my.test_table`( `col1` int COMMENT "第一列", `col2` int COMMENT "第二列")COMMENT "测试表"PARTITIONED BY (`pt` int COMMENT "测试分区")ROW FORMAT SERDE "org.apache.hadoop.hive.ql.io.orc.OrcSerde"STORED AS INPUT..转载 2022-02-21 14:09:47 · 3135 阅读 · 0 评论 -
Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明
Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明1、MR程序时执行时报错: YarnRuntimeException: java.io.IOException:Split metadata size exceeded 10000000.2、原因分析: 输入文件包括大量小文件或者文件目录,造成Splitmetainfo文件超过默认上限。3、解决办法: 在mapred-site.xml配置文件中:...转载 2022-02-15 11:02:24 · 772 阅读 · 0 评论 -
hive自定义UDTF
UDTF:一进多出举例:自定义一个UDTF实现将一个任意分隔符的字符串切割成独立的单词,例如:Line:“hello,world,hadoop,hive”Myudtf(line, “,”)helloworldhadoophivepackage hive.udtf;import com.sun.corba.se.spi.ior.ObjectId;import java.util.ArrayList;import java.util.List;import org.ap...转载 2022-01-07 10:50:56 · 530 阅读 · 0 评论 -
hive自定义UDF
Hive 内置函数Date FunctionsConditional FunctionsMisc. FunctionsHive自定义函数UDF(User-Defined-Function) 一进一出 UDAF(User- Defined Aggregation Funcation) 聚集函数,多进一出。Count/max/min UDTF(User-Defined Table-Generating Functions) 一进多出,如explode() 使用方式 :在HIVE会话转载 2022-01-07 10:29:17 · 652 阅读 · 0 评论 -
大数据面试题集
史上最全大数据面试题V3.1(特辑)目录:一 数据仓库1.维表和宽表的考查(主要考察维表的使用及维度退化手法)2.数仓表命名规范3.拉链表的使用场景4.数据库和数据仓库有什么区别5.有什么维表时间维表、用户维表、产品维表、合同维表、地理维表等6.数据源都有哪些从大体上分为内部数据和外部数据:内部数据又分为业务库数据源:mysql,oracle,mongo日转载 2021-11-29 09:20:39 · 16148 阅读 · 0 评论 -
hive的压缩存储格式
1、5种存储格式Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式。ClouderaImpala也支持这些文件格式。在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式。TextFile每一行都是一条记录,每行都以换行符(\ n)结尾。数据不做压缩,磁盘开销大,数据解析开销大。可.转载 2021-11-04 16:59:01 · 4716 阅读 · 0 评论 -
hive动态分区插入数据
往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。 1.创建一个单一字段分区表hive> create table dpartition(id int ,name string ) partitioned by(ct string ); 2.往表里装载数据,并且动态建立分区,...转载 2021-11-03 13:59:27 · 7052 阅读 · 2 评论 -
hive建表
https://blog.youkuaiyun.com/wgyzzzz/article/details/107446435一、hive建表语法二、hive外部表1、准备测试数据、放入虚拟机/data目录下2、创建外部表3、装载数据4、查询test1表5、查询test1在hdfs上的位置6、通过desc命令查看表的状态7、删除表,查看表在hdfs上的状态8、重新创建外部表test3,通过location关键字指向test19、查询test3三、hive内部表(管理表)1、创建内部表2...转载 2021-11-03 10:39:52 · 9932 阅读 · 0 评论 -
数据倾斜3
前言相信很多接触MapReduce的朋友对'数据倾斜'这四个字并不陌生,那么究竟什么是数据倾斜?又该怎样解决这种该死的情况呢?何为数据倾斜?在弄清什么是数据倾斜之前,我想让大家看看数据分布的概念:正常的数据分布理论上都是倾斜的,就是我们所说的20-80原理:80%的财富集中在20%的人手中, 80%的用户只使用20%的功能 , 20%的用户贡献了80%的访问量 , 不同的数据字段可能的数据倾斜一般有两种情况: 一种是唯一值非常少,极少数值有非常多的记录值(唯一值少于几千) 一转载 2021-10-26 14:20:09 · 214 阅读 · 0 评论 -
数据倾斜的原理及解决方案
导读相信很多接触MapReduce的朋友对'数据倾斜'这四个字并不陌生,那么究竟什么是数据倾斜?又该怎样解决这种该死的情况呢?何为数据倾斜?在弄清什么是数据倾斜之前,我想让大家看看数据分布的概念:正常的数据分布理论上都是倾斜的,就是我们所说的20-80原理:80%的财富集中在20%的人手中, 80%的用户只使用20%的功能 , 20%的用户贡献了80%的访问量 , 不同的数据字段可能的数据倾斜一般有两种情况:一种是唯一值非常少,极少数值有非常多的记录值(唯一值少于几千)一种是唯一值比转载 2021-10-15 18:07:57 · 655 阅读 · 0 评论 -
大数据常见端口汇总
目录大数据常见端口汇总一、Hadoop二、Zookeeper三、Hbase四、Hive五、Spark六、Kafka七、Flink八、Flume九、Redis十、CDH十一、HUE大数据常见端口汇总一、Hadoop50070:HDFS WEB UI端口8020 : 高可用的HDFS RPC端口9000 : 非高可用的HDFS RPC端口8088 : Yarn 的WEB UI 接口8485 : JournalNode 的RPC端口转载 2021-07-23 16:35:37 · 998 阅读 · 0 评论 -
hive解析json数据
hive处理json数据总体来说有两个方向的路走1、将json以字符串的方式整个入Hive表,然后通过使用UDF函数解析已经导入到hive中的数据,比如使用LATERAL VIEW json_tuple的方法,获取所需要的列名。2、在导入之前将json拆成各个字段,导入Hive表的数据是已经解析过得。这将需要使用第三方的SerDe。测试数据为新浪微博测试公开数据该数据采用json格式存储,id代表当前用户微博的id,ids代表当前微博用户关注其他微博用户的id列表,total_..转载 2021-06-15 13:58:27 · 6274 阅读 · 0 评论 -
hive中的EXPLODE和LATERAL VIEW
行转列操作0.函数说明EXPLODE(col):将 hive 一列中复杂的 array 或者 map 结构拆分成多行。LATERAL VIEW用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view 使用案例:源数据结构如下:movie category《疑犯追踪》转载 2021-06-15 13:52:05 · 277 阅读 · 0 评论 -
hive中添加UDF
Hive中有三种UDF:1、用户定义函数(user-defined function)UDF; 2、 用户定义聚集函数(user-defined aggregate function , UDAF );3、用户定义表生成函数(user-defined table-generating function, UDTF )。============================================================================...转载 2021-06-14 13:08:22 · 3442 阅读 · 0 评论 -
hive中distribute by、sort by、cluster by
1.背景 hive中有一个store表,字段分别是"商店所属人标识"(merid),“商户余额(money)”,“商店名称(name)”。求每个法人下属的商店的余额按照降序排序。 //merid,money,name B 10 store_B_4 A 12 store_A_1 A 14 store_A_2 B 15 store_B_1 B 19 store_B_2 B 30 store_B_3 2.distribute...转载 2021-06-12 22:05:45 · 266 阅读 · 0 评论 -
hive的分捅表
参考文章:hive分桶管理https://blog.youkuaiyun.com/freefish_yzx/article/details/77150714hive的分区和分桶https://blog.youkuaiyun.com/wl1411956542/article/details/52931499Hive中有数据分区的方案,也有数据分桶的方案,今天我们就来探讨下数据分桶 以及数据分桶使用的场景。该篇文章主要分为一下几个部分:1.数据分桶的适用场景2.数据分桶的原理...转载 2021-06-11 11:34:15 · 401 阅读 · 2 评论 -
hive中如何取到每个顾客最新交易
hive -e "use db; select t.advertId,t.exposureNum from ( select advertId, exposureNum, ROW_NUMBER() OVER(PARTITION BY advertId ORDER BY addTime desc) AS rn FROM tb_advert_flow_money where ftype = 2) t where t..转载 2021-06-11 11:17:37 · 422 阅读 · 2 评论 -
hive参数调优
合理设置参数,让集群飞起来~ 参数 缺省值 描述 可单独使用 set hive.execution.engine=tez; 设置hive的计算引擎 可单独使用 set mapreduce.map.memory.mb=4096; 设置每个map的内存 可单独使用 set mapreduce.reduce.memory.mb=4096; 设置每个reduce的内存 可单独使用 set mapreduc原创 2021-05-28 16:22:30 · 746 阅读 · 0 评论 -
Hive和Hbase的对接
文章目录一、配置hive 二、hive中数据与hbase相关联 三、hbase中数据与hive相关联一、配置hive1、创建hive所需要的hbase相关联包的软链接ln -s $HBASE_HOME/lib/hbase-common-1.4.10.jar $HIVE_HOME/lib/hbase-common-1.4.10.jarln -s $HBASE_HOME/lib/hbase-server-1.4.10.jar $HIVE_HOME/lib/hbase-server-.转载 2021-04-19 09:51:14 · 1617 阅读 · 6 评论 -
Spark on Hive 和 Hive on Spark的区别
Spark on Hive : Hive只作为存储角色,Spark负责sql解析优化,执行。这里可以理解为Spark 通过Spark SQL 使用Hive 语句操作Hive表 ,底层运行的还是 Spark RDD。具体步骤如下:通过SparkSQL,加载Hive的配置文件,获取到Hive的元数据信息; 获取到Hive的元数据信息之后可以拿到Hive表的数据; 通过SparkSQL来操作Hive表中的数据。Hive on Spark:Hive既作为存储又负责sql的解析优化,Spark负责执行。转载 2020-12-11 12:32:49 · 633 阅读 · 1 评论 -
hive优化
1. 概述1.1 hive的特征:可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析; 它可以使已经存储的数据结构化; 可以直接访问存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件; Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎; 它提供类似sql的查询语句HiveQL对数据进行分析处理; 数据的存储格式有多种,比如数据源是二进制格式,普通文本格式等等;1.2转载 2020-12-09 12:32:45 · 463 阅读 · 0 评论 -
数据仓库分层设计
转自:博客园 大佬 鼬手牵佐手https://www.cnblogs.com/itachilearner/1.虽然各个公司的数据仓库各层名称各不相同,但是总体上大同小异,都包括ODS(Operation Data Store)原始数据层,公共数据层CDM(Common Data Model),又称公共数据模型,和应用数据层APP(或者叫ADS) 。ODS层:原始数据层,主要是将源系统数据抽取到数仓环境,不作任何处理,同时要存历史数据CDM层:公共模型层,CDM层是数据仓库的核心,也是数据..转载 2020-09-23 17:24:49 · 275 阅读 · 0 评论 -
拉链表
http://pylyria.com/2018/07/03/%E6%8B%89%E9%93%BE%E8%A1%A8%E5%8F%8A%E5%85%B6Hive%E5%AE%9E%E7%8E%B0/简介本文介绍数据仓库技术中拉链表相关的内容,包括其原理、设计、适用场景以及在Hive中的实现方式。拉链表是什么拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。即可以在所规定的时间粒度上体现数据完整的生命.转载 2020-08-20 18:41:10 · 2215 阅读 · 0 评论 -
数据倾斜2
数据倾斜的原因和解决方案MapReduce简介MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划转载 2020-08-19 15:31:12 · 349 阅读 · 0 评论 -
数据倾斜
http://blog.sina.com.cn/s/blog_7bbd4ce50102xer9.htmlHive之数据倾斜原因及解决方法睡前学学大数据 2018-05-09作者 雨师数据倾斜产生的原因1、数据倾斜的表现● 任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。● 单一reduce的记录数与平均记录数差异过大,通常可能达到3倍甚至更多。● 最长时长远大于.转载 2020-08-19 11:22:51 · 207 阅读 · 0 评论 -
hive的本地模式
大多数情况下查询都会触发一个MapReduce任务(job)。Hive中对于某些查询可以不必使用MapReduce,也就是所谓的本地模式,eg:SELECT * FROM employeesWHERE country = 'US' and state = 'CA'LIMIT 100;通过修改属性的值,Hive还是尝试使用本地模式执行其他的操作:set hive.exec.mode...转载 2019-03-17 22:30:28 · 617 阅读 · 2 评论 -
hive字符函数
hive字符函数=========================1.========================字符 ascii 码函数:ascii语法: ascii(string str)返回值: int说明:返回字符串 str 中第一个字符的ascii 码举例:hive> select ascii('ba') from test;OK98...转载 2019-03-06 16:01:55 · 753 阅读 · 0 评论