oo寻梦in记
这个作者很懒,什么都没留下…
展开
-
【大数据】-- 读放大和写放大
在大数据领域,读放大和写放大是描述存储系统性能的重要概念,主要用于评估数据存储和处理系统在读写操作中的效率问题。1. 读放大(Read Amplification)定义读放大是指为了满足一个用户的读取请求,存储系统需要读取的数据量比请求的数据量更多的现象。原因数据分片:大数据系统(如 HBase、Cassandra)将数据分散存储在多个节点上,读取时可能需要访问多个节点来聚合结果。索引开销:为了找到特定的数据,系统可能需要先扫描索引数据或元数据。压缩机制。原创 2024-12-16 10:19:13 · 145 阅读 · 0 评论 -
【大数据】-- 插入或覆写动态分区数据(MaxCompute/Hive)
问题:在一些业务场景中,我们需要插入动态分区数据(DYNAMIC PARTITION),如何实现?答:实现如下注意:在 select 时,必须要将 partition_name 添加上。原创 2024-08-23 16:45:06 · 385 阅读 · 0 评论 -
【数据仓库-9】-- 数据仓库、数据集市和数据湖的区别
零售行业销售数据集市通常包含销售记录、库存信息、客户数据等结构化和半结构化数据。数据集市主要用于部门级别的数据分析和报表制作,如分析特定地区的销售业绩、某一门店的库存状态等。零售行业销售数据集市具有适度组织化的数据模式,适度扩展性,并且可能具有适中的存储和计算成本。社交媒体数据湖通常包含用户生成的文本、图片、视频等结构化、半结构化和非结构化数据。这些数据在数据湖中可以直接进行处理和分析,例如ELT或ETL操作。社交媒体数据湖支持多种数据模式和类型,具有高度可扩展性和弹性,并且可能具有较低的存储和计算成本。原创 2023-04-03 09:19:03 · 416 阅读 · 0 评论 -
【Hive基础】-- Hive Catalog
2.2 Hive Catalog 的组成部分。4.3 Hive Catalog 的性能优化。4.2 Hive Catalog 的自定义。1.2 Hive Catalog 的作用。2.Hive Catalog 的基础知识。2.1 Hive Catalog 的类型。2.3 Hive Catalog 的架构。4.1 Hive Catalog 的扩展。5.1 Hive Catalog 的优势。5.2 Hive Catalog 的不足。5.3 Hive Catalog 的未来。3.2.1 HCatalog 的作用。原创 2023-03-28 11:20:37 · 862 阅读 · 0 评论 -
【Hive进阶】-- Hive SQL、Spark SQL和 Hive on Spark SQL
Hive由Facebook开发,用于解决海量结构化日志的数据统计,于2008年贡献给 Apache 基金会。Hive是基于Hadoop的数据仓库工具,可以将结构化数据映射为一张表,提供类似SQL语句查询功能本质:将Hive SQL转化成MapReduce程序。Spark SQL主要用于结构型数据处理,它的前身为Shark,在Spark 1.3.0版本后才成长为正式版,可以彻底摆脱之前Shark必须依赖HIVE的局面。原创 2023-03-13 11:46:49 · 3316 阅读 · 2 评论 -
【面试】-- Hive高频面试题目
分区:分目录,粗粒度分桶:拆分文件,细粒度,按属性的 hash 值,把数据放入第一个到第 n 个文件。原创 2023-03-20 21:29:12 · 632 阅读 · 0 评论 -
[Hive 进阶]-- 7种可以提高 Hive 查询速度的方法
如何提高Hive 的查询性能?Apache Hive是一种强大的数据分析工具。在处理数PB的数据时,了解如何提高查询性能非常重要。以下内容是基于 HDP-2.6.4 版本汇总的,如有不足之处,望指出。1、使用Tez引擎Apache Tez Engine是一个可扩展的框架,用于构建高性能批处理和交互式数据处理。它由YARN在Hadoop中 调度。Tez通过提高处理速度和保持MapRedu...原创 2019-07-17 11:26:36 · 21494 阅读 · 1 评论 -
【Hive基础】-- 常用的函数
Hive提供了一系列字符串函数,如SUBSTRING、CONCAT、TRIM和UPPER/LOWER,这些函数可用于以各种方式处理字符串。Hive还提供了一些数学函数,如ABS、ROUND、PMOD、CEIL和FLOOR,它们可以用来对数字数据进行基本的算术操作。Hive还支持一系列的聚合函数,如SUM、COUNT、AVG和MAX/MIN,它们可以用来对数据进行汇总计算。Hive提供了一系列的条件函数,如IF、CASE和COALESCE,它们可以用来对数据进行条件逻辑处理。2.函数分类--内置函数。原创 2023-03-22 14:39:16 · 395 阅读 · 0 评论 -
[Hive 基础]-- 使用 Map 和 Array 数据结构
Hive 处理复杂数据时,可以使用支持的复杂数据结构1、map1.1 可以存储如下数据"geo": {"country": "中国","subdivision": "安徽","city": "合肥","latitude": "31.86141","longitude": "117.27562","isp": "电信"}说明:geo 代表hive 表字段名称,冒号后的...原创 2020-03-26 17:46:29 · 1669 阅读 · 0 评论 -
【Hive基础】-- hive sql 的执行原理和流程
Hive查询优化器对查询进行分析,并生成一个执行计划,使执行查询所需的MapReduce作业数量最小。在地图阶段,输入数据被分割成较小的块,每个块由一个地图任务处理。地图任务对输入数据中的每条记录应用一个用户定义的函数,并生成一组键值对。在还原阶段,还原任务处理从洗牌和排序阶段收到的键-值对。减少任务对与每个键相关的值应用一个用户定义的函数,并生成一组输出记录。总之,Hive SQL查询的执行包括解析查询,优化查询,并生成执行计划。减少任务的输出被存储在HDFS中或返回给用户,这取决于查询。原创 2023-03-21 21:58:29 · 966 阅读 · 0 评论 -
【Hive进阶】-- 导出 hive 表数据的几种方式
在日常的工作中,常常会有导出 hive 表数据的需求。在此,我整理了如下几种方式,供大家参考。然后使用 hdfs 命令下载。原创 2023-03-13 14:32:02 · 2164 阅读 · 0 评论 -
【Hive 基础】-- 数据倾斜
由于数据分布不均匀,导致大量数据集中到一点,造成数据热点。常见现象:一个 hive sql 有100个 map task, 有一个运行了 20分钟,其他99个 task 只运行了 1分钟。原创 2023-03-08 15:54:01 · 1647 阅读 · 0 评论 -
[Hive基础]-- Hive table 的压缩方式和存储格式
一、了解 Hadoop 的压缩方式1.Hadoop 的压缩方式的基本信息压缩格式 扩展名 多文件 支持切片 压缩比排行 解压速度排行 工具 hadoop自带 gzip .gz 否 否 2 3 gzip 是 bzip2 .bz2 是 是 1 4 bzip2 是 lzo .lzo 否 是 3 2 lzop 否 snappy原创 2022-04-06 20:34:29 · 2650 阅读 · 0 评论 -
[Hive基础]--Where and Having
Where 和Having的区别? 1、相同点where和having:都是限定返回的数据集、 在一个sql语句中可以有where子句和having子句。2、不同点where(1)在where 子句中不能使用聚组函数-- 错误的写法SELECT rd.brand_id from table001 rd group by rd.brand_id where rd....原创 2018-09-13 14:08:14 · 12749 阅读 · 0 评论 -
[Hive进阶]- Hive with as 语法
前言 公用表表达式(CTE)是从WITH子句中指定的简单查询派生的临时结果集(会把查询的表数据放到内存中,供其他查询随时使用),该子句紧跟在SELECT或INSERT关键字之前。CTE仅在单个语句的执行范围内定义。可以在HiveSELECT,INSERT,CREATE TABLE AS SELECT或CREATE VIEW AS SELECT语句中使用一个或多个CTE...原创 2018-12-29 11:16:31 · 14232 阅读 · 8 评论 -
[Hive基础]-- 动态分区与静态分区
前言1、Hive分区的概念与传统关系型数据库分区不同。2、传统数据库的分区方式:如oracle,分区独立存在于字段,里面存储真实的数据,在数据进行插入的时候自动分配分区。3、Hive的分区方式:Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并非一个实际字段。即,当在插入数据的时候指定分区,其就是新建一个目录或者子目录,或者在原...原创 2019-03-02 18:24:02 · 2326 阅读 · 1 评论 -
[Hive进阶]-- Hive 优化
由于Hive的执行依赖于底层的MapReduce作业,因此对Hadoop作业的优化或者对MapReduce作业的调整是提高Hive性能的基础。所以我们可以通过一系列的调优方法,来提高大幅度地Hive查询的性能。1、启用压缩压缩可以使磁盘上存储的数据量变小,通过降低I/O来提高查询速度。查出所使用的Hive版本支持的压缩编码方式,下面的set命令列出可用的编解码器(CDH 5.8.x中的...原创 2019-01-18 22:22:39 · 4030 阅读 · 1 评论 -
[Spark 基础]-- 保持Spark sql join 的字段类型一致
问题某天,在处理数据时,发现Spark sql (版本:Spark-1.6.3 )在进行 join 时,出现了自动截取字符和精度丢失的情况。已经有人在 Jira 上提出需要WARN或者 Exception ,点击举例A 表中的 BigInt 类型和 B表中的 String 类型关联,关联出来的结果重复了,不是我们想要的结果。表一:t_test_bigintcreat...原创 2019-05-08 09:23:33 · 2262 阅读 · 0 评论 -
[数据库基础]-- CBO and RBO optimizers
1、前言 CBO是 Cost-based optimizer ,RBO是 Rule-based optimizer 。2、对比 CBO RBO 定义 基于成本的优化 基于规则的优化 目的 为每个SQL语句提供最便宜的执行计划 RBO使用一组规则来确定如何执行查询 支持 Spark sql、Hive、Presto、Mysq...原创 2019-07-13 11:40:45 · 1042 阅读 · 0 评论 -
[大数据面试]-- 4.Hive 题目
========= 基础 =========1、Hive sql to MRhttps://cwiki.apache.org/confluence/display/Hive/Design2、外部表和内部表3、Hive shuffle 算子4、Hive 存储和压缩格式5、Hive Datamodel6、Hive Buckethttps://cwiki.apach...原创 2019-08-05 21:33:10 · 614 阅读 · 0 评论 -
[Hive排序]--4种排序方式介绍
一、官方文档https://cwiki.apache.org/confluence/display/Hive/Homehttps://cwiki.apache.org/confluence/display/Hive/LanguageManualhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy...原创 2017-09-17 18:53:56 · 22154 阅读 · 2 评论 -
[Hive优化]--常用参数优化汇总
● 使用动态分区需要加配置:SET hive.exec.dynamic.partition=true;SET hive.exec.dynamic.partition.mode=nonstrict;SET hive.exec.max.dynamic.partitions=1000;SET hive.exec.max.dynamic.partitions.pernode=100;为了防止一个reduc...原创 2018-01-08 09:20:58 · 2881 阅读 · 0 评论 -
[Hive基础]-- 查看hive 表在hdfs上的存储路径
1、执行hive,进入hive窗口2、执行show databases,查看所有的database;3、执行use origin_ennenergy_onecard; 则使用origin_ennenergy_onecard数据库4、执行show create table M_BD_T_GAS_ORDER_INFO_H;则可以查看table在hdfs上的存储路径如下:hive (...原创 2016-07-19 12:33:08 · 51626 阅读 · 2 评论 -
[Hive基础]-- 去除指定重复的数据举例
Hive数据去重举例:Hql代码 INSERT overwrite TABLE store SELECT t.p_key, t.sort_wordFROM ( SELECT p_key, sort_word, row_number () over ( distribute BY p_key sort BY sort_word ) AS ...原创 2016-08-07 15:37:21 · 16073 阅读 · 0 评论 -
[Hive举例]-- hive获取今天、昨天、明天和前一个小时、后一个小时的日期
主题:解决hive获取今天、昨天、明天的日期的问题注意:由于hive内置函数中,没有提供获取昨天和明天的日期函数,所以需要编写自定义函数去实现1、获取今天时间(格式可以自定义)语句:select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss')返回结果:2016-09-1416:21:592、获取昨天、明...原创 2016-09-14 16:43:02 · 87795 阅读 · 0 评论 -
[Hive基础]-- 替换指定字符串的函数
1、转换函数select cast(substring('2016-06-05 00:00:00.0',1,10) as int);结果---》20160605 2、替换函数 select cast(substring(regexp_replace('2016-06-05 00:00:00.0', '-', ''),1,8) as int);结果--》20160...原创 2016-08-25 10:07:01 · 78718 阅读 · 1 评论 -
[Hive基础]-- 创建分区表
一、为什么要创建分区表1、select查询中会扫描整个表内容,会消耗大量时间。由于相当多的时候人们只关心表中的一部分数据, 故建表时引入了分区概念。2、hive分区表:是指在创建表时指定的partition的分区空间,若需要创建有分区的表, 需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、实现创建、删除分区表注意:1、一个表可以...原创 2016-09-18 13:45:54 · 47038 阅读 · 4 评论 -
[Hive基础]-- 编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数
开发环境:jdk1.7+idea 16+hive-1.1.0使用udf的生产环境:cdh5.8.0+hive-1.1.0 1、导入hive的所有相关jar包 或者使用maven引入CDH相关包: 4.0.0 com.enn hive-udf 1.0-SNAPSHOT UTF-8 UTF...原创 2016-09-03 21:20:01 · 10555 阅读 · 2 评论 -
[Hive基础]-- like和rlike区别
面试过程中,有技术大牛提到了一个问题,让我不知所措:like与rlike有什么区别呀?后面我百度查了一下,大概归纳如下,希望对大家有帮助:1、定义 (1)like的内容不是正则,而是通配符。像mysql中的"like",但是建议使用高级函数"instr"效率更高。 (2)rlike的内容可以是正则,正则的写法与java一样。需要转义,例如'\m'需要使...原创 2016-11-11 20:19:49 · 17807 阅读 · 0 评论 -
[Hive基础]-- hive udf、udaf和udtf
Hive UDF、UDAF和UDTF函数背景: Hive的自定义函数无法满足实际业务的需要,所以为了扩展性,Hive官方提供了自定义函数来实现需要的业务场景 1、定义 (1)udf(user defined function): 自定义函数,特点是输入一行,输出一行 (2)udaf(user defined aggregation function):自定义聚合函...原创 2016-11-12 13:29:03 · 2664 阅读 · 0 评论 -
[Hive基础]-- Hive创建HBase表
hive和hbase同步https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration1、把hive目录中的hive-hbase-handler-1.2.1.jar cp到hbase/lib 下(h15/h16/h17上,都要有) ## scp /home/hive-1.2.1/lib/hive-hbase-han...原创 2016-06-07 09:53:29 · 1535 阅读 · 0 评论 -
[Hive应用]-- 筛选tomcat的日志文件到数据库中
Tomcat 日志文件目录、脚本正则表达式抓取 1、创建hive表:apachelog 语句如下: CREATE TABLE apachelog ( host STRING, identity STRING, t_user STRING, time STRING, type STRING, http STRING, http_type STRING,...原创 2016-06-06 14:58:50 · 1510 阅读 · 0 评论 -
[Hive基础]-- 客户端上使用hive操作数据库
1、创建hive表person1、person2CREATE TABLE person1(id INT, name STRING,age INT,fav ARRAY<STRING>)COMMENT 'This is the person table' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ...原创 2016-06-06 14:09:27 · 794 阅读 · 0 评论 -
[Hive基础]-- 使用java操作hive2
(一)自定义函数:,实现自定时间格式的转换1\编写java类StringToDate2\编译成为jar包3\上传jar至hive的lib目录下或者其他目录4\使用jar A\首先进入jdbc:hive2://h15:10000> B\添加jar包到内存中:>>add jar /opt/sxt/data/testhive.jar; C\查看是...原创 2016-06-06 14:51:12 · 2075 阅读 · 0 评论 -
[Hive基础]-- 使用hive2操作
1\先在另一个h15窗口上启动hive2:命令>>>hive --service hiveserver2进入hive目录下的bin目录,执行命令#sh beeline2\进入jdbc的链接方式:hiveserver2默认端口是10000 账户:root 密码为空 #!connect jdbc:hive2://192.168.142.115:10000...原创 2016-06-06 14:12:47 · 720 阅读 · 0 评论 -
[Hive基础]-- hive单用户及多用户的实现(已经实现多用户)
1. 启动hadoop集群,hdfs和yarn--->start-dfs.sh start-yarn.sh2. 关掉安全模式,hadoop dfsadmin -safemode leave(注意:每次进入时,都要先关闭h15和h18)3. apache-hive-1.2.1-bin.tarTar包上传解压,进去conf目录(单用户则安装1个节点,多用户则安装2个节点)4. 解压...原创 2016-06-06 14:03:42 · 5911 阅读 · 0 评论 -
[Sqoop基础]-- 使用shell脚本执行hive、sqoop命令
1、test.sh脚本内容如下:#!/bin/bash#CURR_DATE=`date +"%Y-%m-%d %H:%M:%S"`------>不能使用v_sql="insert into origin_ennenergy_energytrade.test2 values('"$(date +"%Y-%m-%d %H:%M:%S")"','"Y"')" echo $v_sq..原创 2016-08-09 10:45:44 · 8500 阅读 · 0 评论 -
[Hive基础]-- hive空值判断
hive中空值判断基本分两种:1、NULL 与 \Nhive在底层数据中如何保存和标识NULL,是由 alter table name SET SERDEPROPERTIES('serialization.null.format' = '\N'); 参数控制的比如: (1).设置 alter table name SET SERDEPROPERTIES...原创 2016-07-18 20:28:03 · 12521 阅读 · 0 评论