Hive
文章平均质量分 75
江畔独步
这个作者很懒,什么都没留下…
展开
-
Hive3 on Spark3配置
之后,将 HDFS 路径“hdfs://cdh01:8020/spark-jars/*”下的原始 “zstd-jni-1.4.4-3.jar” 删除,并替换为 “zstd-jni-1.4.9-1.jar” 后(如上图所示),经再度测试,该问题就解决了。:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。: Hive只作为存储元数据,Spark负责SQL解析优化,语法是Spark SQL语法,Spark负责采用RDD执行。原创 2023-11-09 00:35:06 · 2299 阅读 · 1 评论 -
Hive 分桶
分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。对于 hive 中每一个表、分区都可以进一步进行分桶。由列的哈希值除以桶的个数来决定每条数据划分在哪个桶中。适用场景:对比 MR 的 HashPartition 数据抽样( sampling )转载 2022-11-24 17:49:02 · 969 阅读 · 0 评论 -
Flink1.13集成Hive1.1.0
Flink1.13集成Hive1.1.0原创 2022-06-02 15:33:01 · 1540 阅读 · 3 评论 -
在Hive中判断字符串中是否包含指定子字符串
方法一用法:返回值函数名函数说明intlocate(string substr, string str[, int pos])Returns the position of the first occurrence of substr in str after position pos.使用案例:select locate('i','this is china'); --3select locate('i','this is china',4); --6selec原创 2022-02-23 10:19:01 · 14165 阅读 · 0 评论 -
Hive【with as用法】
前言公用表表达式(CTE)是从WITH子句中指定的简单查询派生的临时结果集(会把查询的表数据放到内存中,供其他查询随时使用),该子句紧跟在SELECT或INSERT关键字之前。CTE仅在单个语句的执行范围内定义。可以在Hive SELECT,INSERT, CREATE TABLE AS SELECT或CREATE VIEW AS SELECT语句中使用一个或多个CTE 。使用HIVE-1180在Hive 0.13.0中添加了通用表格表达式。语法withClause: cteClause (原创 2021-12-15 14:28:00 · 2467 阅读 · 0 评论 -
HiveSQL脚本传参&使用
一、基础语法运行hive命令时,如果想动态传入参数,可以使用如下2种方式:参数格式说明--hivevar传参数 ,专门提供给用户自定义变量--hiveconf①传参数;②覆盖 hive-site.xml中配置的hive全局变量二、测试验证测试目标根据动态传入的省份参数,去查询不同省份的人口数据库准备测试脚本 test.hql:--数据库前的省份限定字符,根据外部参数传入use ${传入的地域}db_population;--不限定数据库,根据上述原创 2021-10-26 11:19:58 · 3812 阅读 · 0 评论 -
定时生成Hive报表
背景开发中,经常遇到一些固化的报表需求,需要按固定的频率(每天、每周、每月)来定时生成。定时执行Hive脚本,根据调度的复杂程度,可以使用Azkaban,也可以选择更为轻量级的Linux crontab。这里以crontab为例进行调度任务的配置。报表要求0、统计上月订单销售明细情况;1、报表以Excel方式生成;2、可能报表数据量比较大,如果数据量超过预设阈值(如50万),就按阈值分为N+1个文件;3、受限于Excel的文件大小限制(Excel2007及之后,如果超过Excel的104万原创 2021-08-03 13:30:57 · 613 阅读 · 0 评论 -
Hive时间处理函数
一、基础时间函数1)current_date()作用:得到当前的日期字符串.select current_date(); 结果:2021-01-012)current_timestamp()作用:得到当前的时间字符串.select current_timestamp(); 结果:2020-01-01 13:52:46.0183) unix_timestamp()作用:得到当前的时间戳.select unix_timestamp(); 结果:1577858367原创 2021-06-22 14:01:44 · 862 阅读 · 1 评论 -
数据仓库维度表制作
一、维度表字段说明dt日历日期lunar_dt农历日期calendar_year年份quarter_of_year季度month_of_year月份week_of_year一年第几周dt_of_week一周第几天dt_of_month一个月第几天dt_of_year一年第几天is_last_day_of_month是否一个月最后一天is_weekend是否周末日is_holiday是否节假日原创 2021-04-25 13:43:18 · 546 阅读 · 1 评论 -
Hive相关操作总结
客户端打开beeline方式beeline -u "jdbc:hive2://${hive_server2_host}:${hive_server2_port}" -n $HADOOP_USER_NAME -f $job命令行方式:[david_admin@server111-111-22-11 ~]$ beelineJava HotSpot(TM) 64-Bit Server ...原创 2020-03-23 16:37:29 · 561 阅读 · 0 评论 -
HadoopMR 优化相关参数
MapReduce 基本优化相关参数优化(1)资源相关参数:以下参数是在自己的 MapReduce 应用程序中配置就可以生效配置说明mapreduce.map.memory.mb:一个 Map Task 可使用的内存上限(单位:MB),默认为 1024。如果 Map Task 实际使用的资源量超过该值,则会被强制杀死。mapreduce.reduce.memory...原创 2020-03-23 15:02:06 · 393 阅读 · 0 评论 -
Hive2.0函数大全(英文版)
Hive Operators and User-Defined Functions (UDFs)Hive Operators and User-Defined Functions (UDFs) Built-in Operators Operators Precedences Relational Operators Arithmetic Operators L...原创 2020-03-13 14:56:09 · 261 阅读 · 0 评论 -
[转]快速导出hive表结构脚本
[转]快速导出hive表结构脚本传入hive database参数:循环遍历所有database:快速导出的方式转载至:https://blog.csdn.net/qq_28178971/article/details/73896666转载请注明源出处。传入hive database参数:#!/bin/bashDATABASE=$1hive -e "use ${DATABASE};"...转载 2019-01-30 14:20:48 · 1264 阅读 · 0 评论 -
Hive注释乱码解决方法
CDH6集群安装完毕,查看hive建表语句时,表注释、字段注释均显示乱码,这是因为hive的元数据库字符集编码集设置不当造成乱码。解决如下:1、修改database 编码集或执行sql:alter database metastore default character set latin1;2、修改 hive 核心表编码集为utf8进入hive的metastore库,执行如下sq...原创 2019-02-21 17:47:40 · 682 阅读 · 0 评论 -
使用MSCK命令修复Hive表分区
一、介绍我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS put/cp命令往表目录下拷贝分区目录,如果目录多,需要执行多条alter语句,非常麻烦。Hive提供了一个"Recover Partition"的功能。具体语法如下:MSCK REPAIR TABLE table_name;原理相当简单,执行后,Hive会检测...原创 2019-02-14 19:56:24 · 3426 阅读 · 1 评论 -
Hive字段中文注释乱码解决办法
Hive字段中文乱码,如执行 show create table xxx 时,表级别注释、字段级别注释发现有乱码现象,一般都是由hive 元数据库的配置不当造成的。 此时可按如下步骤进行配置调整:登录hive的元数据库mysql中:1、设置hive 元数据库字符集show create database hive;查看为utf8,需变更为latin1al原创 2017-12-04 15:36:12 · 1744 阅读 · 1 评论 -
如何让hive支持多字符分割列
默认情况下,hive仅支持单个字符来进行列分割。实际工作中,为了防止实际数据中,包含列分隔符,常使用多个字符串来分割数据列。可以在hive建表语句中,使用built-in的 org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe类, 来使你的表支持多字符分割列。 Hive测试版本为:hive-1.1.0-cdh5.7.1,其他版本需自行测原创 2017-05-24 18:36:27 · 2484 阅读 · 0 评论 -
HIVE精华汇总帖
原文: http://geek.csdn.net/news/detail/126543【编者按】Hive作为Hadoop家族的重要一员,具有学习成本低,开发者可通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。在攒库中,Hive也不负众望,得到了非常高的票数。为此,CSDN知识库特邀社区专家蒋守壮(博客:http://blog.csdn转载 2016-12-02 11:33:48 · 535 阅读 · 0 评论