自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 全方位揭秘!大数据从0到1的完美落地之Superset基础安装

​ Superset快速,轻巧,直观,并带有各种选项,使各种技能的用户都可以轻松浏览和可视化其数据,从简单的折线图到高度详细的地理空间图。

2023-07-25 17:38:43 199

原创 全方位揭秘!大数据从0到1的完美落地之sqoop优化

一次取MySql中批量读取的数据条数。Sqoop提供一系列的Job语句来操作Sqoop。

2023-06-13 15:24:09 157 1

原创 全方位揭秘!大数据从0到1的完美落地之sqoop导出实战

【代码】全方位揭秘!大数据从0到1的完美落地之sqoop导出实战。

2023-06-13 15:21:42 165

原创 全方位揭秘!大数据从0到1的完美落地之sqoop导入实战

您可以使用-m或–num-mappers参数指定用于执行导入的map任务(并行进程)的数量。从数据库中检索分割列的高值和低值,map任务操作整个范围的大小均匀的组件。但是当一个表没有主键时,上面的切分就无法进行,Sqoop导入时就会出错,这时候可以通过-m把mapper的数量设为1,只有一个Mapper在运行,这时候就不需要切分,也可以避免主键不存在时候报错的问题.找出id的范围,然后把4个任务的id设置范围是(0-200),(200-400),(400-600),(600-800):条件导入(增量导入)

2023-06-13 15:21:09 122

原创 全方位揭秘!大数据从0到1的完美落地之sqoop简介

Sqoop是一个用于Hadoop和结构化数据存储(如关系型数据库)之间进行高效传输大批量数据的工具。它包括以下两个方面:​ 可以使用Sqoop将数据从关系型数据库管理系统(如MySql)导入到Hadoop系统(如HDFS、Hive、HBase)中将数据从Hadoop系统中抽取并导出到关系型数据库(如MySql)

2023-06-13 15:21:01 55

原创 全方位揭秘!大数据从0到1的完美落地之sqoop命令执行

在执行Sqoop命令时,如果每次执行的命令都相似,那么把相同的参数可以抽取出来,放在一个文本文件中,把执行时的参数加入到这个文本文件为参数即可. 这个文本文件可以用。Sqoop的设计就是把数据库数据导入HDFS,所以必须指定连接字符串才能访问数据库,这个连接字符串类似于URL,这个连接字符串通过。上面的可以通过表,字段,条件进行导入,但是还不够灵活,其实Sqoop还可以通过自定义的sql来进行导入,可以通过。中命令中的JDBC连接的参数一般是不变的,可以把它抽取出来放在一个文件中。

2023-06-13 15:20:18 55

原创 全方位揭秘!大数据从0到1的完美落地之sqoop安装

先把spoop的安装包 sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 拷贝在系统目录下的 /root/softwares下面。因为我们现在通过JDBC让MySql和HDFS等进行数据的导入导出,所以我们先必须把JDBC的驱动包拷贝到。注意:在安装Sqoop之前要配置好本机的Java环境和Hadoop环境。

2023-06-13 15:19:48 62

原创 全方位揭秘!大数据从0到1的完美落地之Flume优化

​ 负载均衡Sink 选择器提供了在多个sink上进行负载均衡流量的功能。它维护一个活动sink列表的索引来实现负载的分配。flume的自动容灾指的是当某一个channel或者sink挡掉后,由其他的sink来接收数据。flume的负载均衡指的是多个channel处理的event的数量尽可能的相同。)两种选择机制分配负载。2)下游的qianfeng02上的方案。3)下游的qianfeng03上的方案。2)下游的qianfeng02上的方案。3)下游的qianfeng03上的方案。

2023-06-13 15:18:35 42

原创 全方位揭秘!大数据从0到1的完美落地之Flume选择器

当这样的异常发生时,Channel处理器抛出ChannelException异常,事务失败,如果Source试图再次写入相同的事件(大多数情况下,会再次写入,只有Syslog,Exec等Source不能重试,因为没有办法生成相同的数据),重复的事件将写入到Channel中,而先前的提交是成功的,这样在Flume中就发生了重复。Channel选择器的配置是通过Channel处理器完成的,Channel选择器可以指定一组Channel是必须的,另一组的可选的。

2023-06-13 15:18:02 46

原创 全方位揭秘!大数据从0到1的完美落地之Flume拦截器

在Flume运行过程中 ,Flume有能力在运行阶段修改/删除Event,这是通过拦截器(Interceptors)来实现的。拦截器有下面几个特点:拦截器需要实现org.apache.flume.interceptor.Interceptor接口。拦截器可以修改或删除事件基于开发者在选择器中选择的任何条件。拦截器采用了责任链模式,多个拦截器可以按指定顺序拦截。一个拦截器返回的事件列表被传递给链中的下一个拦截器。如果一个拦截器需要删除事件,它只需要在返回的事件集中不包含要删除的事件即可。启动Agent的服务

2023-06-13 15:17:32 93

原创 全方位揭秘!大数据从0到1的完美落地之Flume案例_3

Syslogtcp: syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。file:表示用file作为channel传送介质。logger:输出目的地为logger。hdfs:表示目的地为HDFS服务器。hdfs:表示目的地为HDFS。mem:通过内存选择器来处理。Syslogtcp:同上。mem:表示从内存传送。

2023-06-13 15:16:51 38

原创 全方位揭秘!大数据从0到1的完美落地之Flume案例_1

Avro Source:监听一个指定的Avro端口,通过Avro端口可以获取到Avro client发送过来的文件,即只要应用程序通过Avro端口发送文件,source组件就可以获取到该文件中的内容,输出位置为Logger。#常用的是tail -F file指令,即只要应用程序向日志(文件)里面写数据,source组件就可以获取到日志(文件)中最新的内容 ,#常用的是tail -F file指令,即只要应用程序向日志(文件)里面写数据,source组件就可以获取到日志(文件)中最新的内容。

2023-06-13 15:14:55 41

原创 全方位揭秘!大数据从0到1的完美落地之Flume案例_2

http: 表示数据来源是http网络协议,一般接收的请求为get或post请求. 所有的http请求会通过插件格式的Handle转化为一个Flume的Event数据.Spool 是Source来源于目录,有文件进入目录就摄取,File Channel将它暂存到磁盘,最终目的地是HDFS。Spool: Source来源于目录,有文件进入目录就摄取,File Channel将它暂存到磁盘,最终目的地是HDFS。即只要某个目录不断有文件,HDFS上也会同步到所有数据。logger:是传送数据到日志。

2023-06-13 15:14:27 49

原创 全方位揭秘!大数据从0到1的完美落地之Flume简介

1.数据采集2.数据存储3.数据清洗4.数据分析5.数据展示参考下图:在数据采集和搜集的工具中,Flume框架占有一定的市场份量。Flume是一种分布式的,可靠的、高可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序。参考官网: http://flume.apache.org/

2023-06-13 15:13:00 38

原创 全方位揭秘!大数据从0到1的完美落地之Flume模型

在flume提供的数据流模型中,几个原则很重要。1.单个Source组件可以和多个Channel组合建立数据流,既可以replicating(复制) 和 multiplexing(多路复用)。2.多个Sources可以写入单个 Channel1.多个Sinks又可以组合成Sinkgroups从Channel中获取数据,既可以loadbalancing(负载均衡)和failover(故障转移)机制。2.多个Sinks也可以从单个Channel中取数据。

2023-06-13 15:12:39 53

原创 全方位揭秘!大数据从0到1的完美落地之Flume安装

【代码】全方位揭秘!大数据从0到1的完美落地之Flume安装。

2023-06-13 15:11:55 49

原创 全方位揭秘!大数据从0到1的完美落地之Hive压缩

map阶段的设置, 就是在MapReduce的shuffle阶段对mapper产生的中间结果数据压缩。在这个阶段,优先选择一个低CPU开销的算法。HQL语句最终会被编译成Hadoop的Mapreduce job,因此hive的压缩设置,实际上就是对底层MR在处理数据时的压缩设置。即对reduce阶段的输出数据进行压缩设置。

2023-05-21 20:47:51 48

原创 全方位揭秘!大数据从0到1的完美落地之Hive企业级调优

如果某个“不平衡的"的job中有某几个reduce task执行的时间要比其他reduce task 消耗的时间多得多的话,那么保留的插槽就会一直空闲着却无法被其他的job使用,直到所有的task 都结束了才会释放.对于Hadoop来说,这个种情况并不是常见的使用场景,因此,其通常会一次创建很多的文件,然后会向这些文件中写人大量的数据。​ 不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。

2023-05-21 20:47:17 54

原创 全方位揭秘!大数据从0到1的完美落地之Hive视图

hive的视图简单理解为逻辑上的表hive只支持逻辑视图,不支持物化视图视图存在的意义对数据进行局部暴露(涉及隐私的数据不暴露)简化复杂查询。

2023-05-21 20:47:15 60

原创 全方位揭秘!大数据从0到1的完美落地之Hive存储格式

hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储。第一类: 纯文本文件存储。第二类:二进制文件存储。

2023-05-21 20:44:33 48

原创 全方位揭秘!大数据从0到1的完美落地之Hive分桶

数据分区可能导致有些分区数据过多,有些分区数据极少。分桶是将数据集分解为若干部分(数据文件)的另一种技术。分区和分桶其实都是对数据更细粒度的管理。当单个分区或者表中的数据越来越大,分区不能细粒度的划分数据时,我们就采用分桶技术将数据更细粒度的划分和管理。

2023-05-21 20:43:37 95

原创 全方位揭秘!大数据从0到1的完美落地之Hive分区

Hive的Select查询时,一般会扫描整个表内容。随着系统运行的时间越来越长,表的数据量越来越大,而hive查询做全表扫描,会消耗很多时间,降低效率。而有时候,我们需求的数据只需要扫描表中的一部分数据即可。这样,hive在建表时引入了partition概念。即在建表时,将整个表存储在不同的子目录中,每一个子目录对应一个分区。在查询时,我们就可以指定分区查询,避免了hive做全表扫描,从而提高查询效率。

2023-05-20 15:24:53 52

原创 全方位揭秘!大数据从0到1的完美落地之Hive排名函数

第一种函数:row_number从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列。第三种函数:DENSE(但是)_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位。第二种函数:RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位。

2023-05-20 15:23:27 52

原创 全方位揭秘!大数据从0到1的完美落地之Hive自定义函数

hive的内置函数满足不了所有的业务需求。hive提供很多的模块可以自定义功能,比如:自定义函数、serde、输入输出格式等。而自定义函数可以分为以下三类:用户自定义函数,一对一的输入输出 (最常用的)。用户自定义聚合函数,多对一的输入输出,比如:count sum max。用户自定义表生产函数 一对多的输入输出,比如:lateral view explode1)准备工作和注意事项在pom.xml,加入以下maven的依赖包

2023-05-20 15:22:56 46

原创 全方位揭秘!大数据从0到1的完美落地之Hive窗口函数

先来看一下这个需求:求每个部门的员工信息以及部门的平均工资。在mysql中如何实现呢求部门平均工资 select deptno ,avg(sal) from emp group by deptno;查看所有员工信息 select * from emp如何将这两个记过进行信息绑定呢?使用两个语句进行子查询或join通过这个需求我们可以看到,如果要查询详细记录和聚合数据,必须要经过两次查询,比较麻烦。-1) 窗口函数又名开窗函数,属于分析函数的一种。-2) 是一种用于解决复杂报表统计需求的函数。

2023-05-20 15:22:07 31

原创 全方位揭秘!大数据从0到1的完美落地之Hive序列函数

(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。ntile(n):把有序分区中的行发送到指定的组中(n是有几组),各个组有编号,编号是从1开始。ntile 是Hive很强大的一个分析函数。可以看成是:它把有序的数据集合。lead(列,行数,默认值):往后第n行数据。lag(列,行数,默认值):往前第n行数据。lead返回当前数据行的后第n行的数据。lag返回当前数据行的前第n行的数据。案例:求5分钟内点击100次的用户。

2023-05-20 15:21:41 32

原创 全方位揭秘!大数据从0到1的完美落地之Hive系统函数

9)日期转字符串(格式化)函数:date_format。

2023-05-20 15:20:17 29

原创 全方位揭秘!大数据从0到1的完美落地之Hive数据类型

crate table if not exists 表名(列名 列的数据类型,........列名 array)row format delimited fields terminated by '数据分隔符'collection items terminated by '数组的分隔符'说明:下标从0开始,越界不报错,以null代替explode:展开函数(UDTF函数中的一种),作用是:接受一个数据行,然后返回产生多个数据行lateral(拉凑) view:虚拟表。

2023-05-20 15:19:40 39

原创 全方位揭秘!大数据从0到1的完美落地之Hive查询操作

返回结果中,如果另一张表没有匹配的记录,则用 null 填充,这四种连接,又可以分成两大类:内连接(inner join)表示只包含匹配的记录,外连接(outer join)表示还包含不匹配的记录。有的业务所需要的数据,不是在一张表中,通常会存在多张表中,而这些表中通常应该会存在"有关系"的字段。指的是表 A 和表 B 不存在关联字段,这时表 A(共有 n 条记录)与表 B (共有 m 条记录)连接后,会产生一张包含 n x m 条记录(笛卡尔积)的新表。group by语句特点。

2023-05-20 15:18:55 81

原创 全方位揭秘!大数据从0到1的完美落地之Hive内部表和外部表

外部表:使用后数据不想被删除的情况使用外部表(推荐使用)所以,整个数据仓库的最底层的表使用外部表。2、drop时,内部表的表目录会被删除,但是外部表的表目录不会被删除。内部表: 平时用来测试或者少量数据,并且自己可以随时修改删除数据.就差两个关键字,EXTERNAL 和 LOCATION。在元数据库mysql创建相应表的描述数据(元数据)在Hive中,表类型主要分为两种。1、drop时,元数据都会被清除。默认创建的表就是内部表。在hdfs下创建表目录。

2023-05-20 15:18:10 56

原创 全方位揭秘!大数据从0到1的完美落地之Hive数据导入导出

注意:hive使用的是严格的读时模式:加载数据时不检查数据的完整性,读时发现数据不对则使用NULL来代替。而mysql使用的是写时模式:在写入数据时就进行检查。**方法1:**使用hdfs dfs -put将本地文件上传到hive表目录下。**方法3:**从另外一张表(也可称之为备份表)中动态加载数据。​ 上述的这个操作会启动MR进行操作。**方法2:**在hive中使用load 命令。上述的这个操作会启动MR进行操作。**方法4:**克隆表数据。

2023-05-20 15:16:21 75

原创 全方位揭秘!大数据从0到1的完美落地之Hive库表基本操作

创建数据库的本质就是在hive的参数${hive.metastore.warehouse.dir}对应的目录下,创建一个新的目录,此目录的名称为: 库名.db。创建表的本质其实就是在对应的数据库目录下面创建一个子目录,目录名为表名。hive有一个默认的数据库default,如果不明确的说明要使用哪个库,则使用默认数据库。Hive的数据类型分为基本数据类型和复杂数据类型,下面是基本数据类型(复杂类型到后期再讲)在创建库或者表时除了创建目录外,还会在mysql中(元数据库),添加元数据(描述信息)

2023-05-20 15:16:05 61

原创 全方位揭秘!大数据从0到1的完美落地之Hive部署远程模式

将hive中的相关进程比如或者metastore这样的进程单独开启,使用客户端工具或者命令行进行远程连接这样的服务,即远程模式。客户端可以在任何机器上,只要连接到这个server,就可以进行操作。客户端可以不需要密码。

2023-05-20 15:14:02 42

原创 全方位揭秘!大数据从0到1的完美落地之Hive部署本地模式

使用mysql替换derby进行元数据的存储,hive的相关进程都是在同一台机器上,即本地模式。mysql因为是独立的进程,所以mysql可以和hive在同一机器上,也可以在其他机器上。注意:在hive-site.xml的第3215行有一个特殊的字符,由于编码,执行程序时不识别,需要手动修改(删除就可以了)通常使用关系型数据库来进行元数据存储(mysql、oracle等执行带jdbc驱动的数据库)注意:hive的元数据在mysql库里创建的数据库hive的编码最好设置成latin1。启动MySQL的服务。

2023-05-20 15:12:04 96

原创 全方位揭秘!大数据从0到1的完美落地之Hive部署内嵌模式

注意:Hive会自动监测Hadoop的环境变量,如有就必须启动Hadoop)

2023-05-20 15:10:20 33

原创 全方位揭秘!大数据从0到1的完美落地之Hive介绍

Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理。这套Hive SQL 简称HQL。Hive的执行引擎可以是MR、Spark、Tez。Hive的本质是将HQL转换成MapReduce任务,完成整个数据的分析查询,减少编写MapReduce的复杂度。

2023-05-20 15:09:33 67

原创 全方位揭秘!大数据从0到1的完美落地之MapReduce实战案例(3)

需求+测试数据有如下订单数据订单id商品id成交金额Pdt_01222.8Pdt_0525.8Pdt_03522.8Pdt_04122.4Pdt_05722.4Pdt_01222.8现在需要求出每一个订单中成交金额最大的一笔交易分析a) 利用“订单id和成交金额”作为key,可以将map阶段读取到的所有订单数据按照id分区,按照金额排序,发送到reduceb) 在reduce端利用groupingcomparator将订单id相同的kv聚合成组,然后取第一个即是最大值。

2023-05-04 15:36:19 53

原创 全方位揭秘!大数据从0到1的完美落地之MapReduce实战案例(2)

需求a) 从原始日志文件中读取数据b) 根据日志中的一个URL字段到外部知识库中获取信息增强到原始日志c) 如果成功增强,则输出到增强结果目录;如果增强失败,则抽取原始数据中URL字段输出到待爬清单目录测试数据分析程序的关键点是要在一个MapReduce程序中根据数据的不同输出两类结果到不同目录,这类灵活的输出需求可以通过自定义outputformat来实现。

2023-05-04 15:36:09 45

原创 全方位揭秘!大数据从0到1的完美落地之MapReduce实战案例(1)

需求无论hdfs还是MapReduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案测试数据分析a) 在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFSb) 在业务处理之前,在HDFS上使用MapReduce程序对小文件进行合并c) 在MapReduce处理时,可采用combineInputFormat提高效率。

2023-05-04 15:35:24 106

原创 全方位揭秘!大数据从0到1的完美落地之Hadoop数据压缩

这是MapReduce的一种优化策略:通过压缩编码对mapper或者reducer的输出进行压缩,以减少磁盘IO,提高MR程序运行速度(但相应增加了cpu运算负担)1) MapReduce支持将map输出的结果或者reduce输出的结果进行压缩,以减少网络IO或最终输出数据的体积2) 压缩特性运用得当能提高性能,但运用不当也可能降低性能3) 基本原则:-运算密集型的job,少用压缩-IO密集型的job,多用压缩。

2023-05-04 15:34:38 59

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除