破茧成蝶——大数据篇
文章平均质量分 90
从零开始论述大数据相关的知识,包括:理论、示例以及代码等!涉及到的大数据组件有Hadoop、Zookeeper、Hive、Flume、Kafka、HBase、Sqoop、Oozie、Kylin、Impala、Kettle、Spark、Flink、CDH等等。快来跟我一起开启破茧成蝶的旅程吧……
象在舞
谁说大象不能跳舞!
展开
-
终章:蜕变,破茧成蝶!
从零开始论述大数据相关的知识,包括:理论、示例以及代码等!涉及到的大数据组件有Hadoop、Zookeeper、Hive、Flume、Kafka、HBase、Sqoop、Oozie、Kylin、Impala、Kettle、Spark、Flink、CDH等等。集合,准备团战!终于来到我们的最终章了,快来跟我一起蜕变,破茧成蝶吧!原创 2021-01-05 16:18:37 · 3052 阅读 · 4 评论 -
八十二、ElasticSearch详解(下)
上一篇文章我们通过搜索原理来看了一下ElasticSearch,本文我们主要从数据结构、Mapping、文档操作入手看一下ElasticSearch是如何使用的。...原创 2021-06-16 09:54:15 · 2016 阅读 · 1 评论 -
八十一、ElasticSearch详解(中)
上一篇文章我们着重从ElasticSearch的操作工具、存储方式以及检索等方面触发介绍了一下ElasticSearch的使用,本文我们从搜索原理、数据类型以及文档操作等方面入手继续看一下ElasticSearch是如何使用的。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、ElasticSearch搜索原理1.1正排索引和倒排索引 正排索引记录文档id到文档内容、单词的关联关系。正排索引表是以文档的ID为关键字,表中记录文档中每个字段的值信息,主要场景是通...原创 2021-06-10 11:27:11 · 1027 阅读 · 1 评论 -
八十、ElasticSearch详解(上)
上一篇文章我们主要介绍了一下ElasticSearch以及如何安装部署单机版本的ElasticSearch。本文我们来详细看一下它的原理以及它是如何使用的。原创 2021-06-08 10:54:34 · 627 阅读 · 0 评论 -
七十九、ElasticSearch的简介与安装
本文我们来看一下一个非常常用的搜索引擎——ElasticSearch。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、ElasticSearch的概述1.1ElasticSearch的简介1.2ElasticSearch的特点1.3同类产品的对比二、ElasticSearch的安装2.1环境准备2.2单机安装一、ElasticSearch的概述1.1ElasticSearch的简介 Elasticsearch是一...原创 2021-06-07 15:56:46 · 1062 阅读 · 2 评论 -
七十八、Kettle的几个使用案例
上一篇文章我们介绍了一下Kettle以及Kettle的安装部署,本文我们来具体看几个例子,看看Kettle是怎样使用的。使用示例我们基于Windows安装的Kettle进行演示说明。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、案例一1、需求把stu1的数据按id同步到stu2,stu2有相同id则更新数据。2、在MySQL中创建两张表并插入一些数据create table stu1(id int,name varchar(20),age int);create tabl原创 2021-05-31 09:48:44 · 5441 阅读 · 0 评论 -
七十七、Kettle的简介与安装部署
本文我们来介绍一个非常好用的开源ETL工具——Kettle,它是纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Kettle的简介1.1什么是KettleKettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1。2005年12月,Kettle从2.1版本开始进入了开源领域,一直到4.1版本遵守LGPL协议,从4.2版本开始.原创 2021-05-28 13:26:30 · 4536 阅读 · 0 评论 -
七十六、ClickHouse的表引擎以及SQL语法
上一篇文章我们介绍了一下ClickHouse的安装,这一篇我们主要来看一下它的表引擎已经SQL语法。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、ClickHouse的数据类型在介绍表引擎和SQL语法之前,我们先来看一下它的数据类型。常用的数据类型如下所示:1、整型。固定长度的整型,包括有符号整型(-2n-1~2n-1-1)和无符号整型(0~2n-1)。2、浮点型。建议尽可能以整数形式存储数据。例如,将固定精度的数字转换为整数值,如时间用毫秒为单位表示,因为浮点型进行计算时可能引原创 2021-05-26 10:32:54 · 903 阅读 · 0 评论 -
七十五、ClickHouse的简介与安装
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。本文我们主要看一下它的安装,分为单机模式与分布式模式。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、ClickHouse的概述1.1ClickHouse的简介1.2ClickHouse的特点二、ClickHouse的安装2.1单机模式2.2分布式安装一、ClickHouse的概述1.1...原创 2021-05-24 14:08:17 · 564 阅读 · 0 评论 -
七十四、Hue的简介以及安装使用
本文我们来看一个大数据的UI系统——Hue,因为其使用比较简单,我们用一篇文章简单的介绍一下它的安装与使用。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、Hue的简介二、Hue的安装三、Hue的使用一、Hue的简介Hue(Hadoop User Experience,Hadoop用户体验),直白来说就一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基原创 2021-05-21 11:13:13 · 4102 阅读 · 2 评论 -
七十三、Impala的常用操作
上一篇文章我们简单介绍了一下Impala以及如何安装部署Impala,本文我们从Impala的数据类型、DDL、DML、函数等方面来看一下Impala是如何操作的。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Impala的数据类型Impala与Hive的数据类型对比如下所示: Hive数据类型 Impala数据类型 长度 TINYINT TINYINT 1byte有符号原创 2021-05-17 14:31:19 · 4755 阅读 · 1 评论 -
七十二、Impala的简介与安装部署
咱们前面几篇文章穿插了些CDH的内容,因为咱们的Impala的安装是基于CDH的,所以提前将如何部署安装CDH讲解了一下。本文我们来看一下Impala的相关知识。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Impala概述1.1Impala是什么Impala是由Cloudera公司推出,提供对HDFS、HBase数据的高性能、低延迟的交互式SQL查询。它基于Hive,使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点,是CDH平台首选的PB级大数据实时查询分析引擎。.原创 2021-05-14 14:59:31 · 2321 阅读 · 2 评论 -
七十一、CDH6.3.1安装Phoenix服务
最近因为工作原因需要在CDH集群中安装Phoenix服务,小编的集群使用的CDH6.3.1的版本,具体集成过程一起来看一下吧~一、下载parcel包下载目录为...原创 2020-07-11 14:56:18 · 1568 阅读 · 2 评论 -
七十、CDH集群中部署Presto
Presto是完全基于内存的并行计算以及分布式SQL交互式查询引擎。它可以共享Hive的元数据,然后直接访问HDFS中的数据。同Impala一样,作为Hadoop之上的SQL交互式查询引擎,通常比Hive要快5-10倍。Presto是一个运行在多台服务器上的分布式系统。完整安装包括一个coordinator和多个worker。一、准备工作1、下载安装包 我们使用的安装包是presto-server-0.230.tar.gz,链接路径为:https://repo1....原创 2020-06-30 11:54:38 · 1987 阅读 · 4 评论 -
六十九、CDH6.3.1中安装StreamSets3.16.0
StreamSets(StreamSets Data Collector)是一款开源的强大的实时数据采集和ETL工具,数据源支持包括结构化和半/非结构化,目标源支持HDFS,HBase,Hive,Kudu,Cloudera Search, ElasticSearch等。它包括一个拖拽式的可视化数据流程设计界面,定时任务调度等功能。StreamSets有多种安装方式,可以使用tar包、rpm包、Cloudera Parcels等方式进行安装。由于小编所使用的集群为CDH,故本文就只对其如何集成到...原创 2020-06-13 13:50:36 · 1333 阅读 · 0 评论 -
六十八、CDH6.3.1部署大数据集群
近期公司打算重新部署CDH大数据集群,之前使用的是CDH5.3.6的版本,搭建方式可以参考这里~此次重新部署,打算采用6.3.1的版本,之前的部署方式已然不适用,故重新整理,遂成此文~一、搭建之前的准备...原创 2020-07-09 15:31:50 · 1593 阅读 · 4 评论 -
六十七、搭建Cloudera Manager环境管理大数据集群
本文主要介绍如何搭建Cloudera Manager环境来管理大数据集群。这里注重的是搭建的过程,所以小编没用公司的服务器,而是在自己电脑上建了三台虚拟机(使用的是CentOS6.5),用作搭建Cloudera Manager环境。废话不多说,直接开始~一、环境准备(在所有机器上操作)查看系统空间的使用情况等配置ip、主机名、主机映射等(重启生效!!)禁用ipv6(重启生效!!)# ...原创 2018-03-12 21:37:04 · 8292 阅读 · 2 评论 -
六十六、Kylin对接JDBC和Zepplin
本文我们来看一下Kylin如何对接JDBC,以及如何集成到Zepplin中。自定义编码可以实现更多的业务逻辑,而Zepplin是一个非常好用的编辑器工具。本文也是整个Kylin部分的最后一篇文章,关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、Kylin对接JDBC二、Kylin集成Zepplin2.1安装Zepplin2.2配置Zepplin支持Kylin一、Kylin对接JDBC1、创建项目并导入依赖 <dependencies> ..原创 2021-05-12 11:06:37 · 1100 阅读 · 2 评论 -
六十五、Kylin Cube的构建
上一篇文章,我们通过一个简单的例子初步使用了一下Kylin这个组件,这篇文章我们来看下Cube的具体构建流程。原创 2021-05-11 10:06:58 · 1082 阅读 · 3 评论 -
六十四、Kylin的初体验
上一篇文章我们介绍了Kylin以及Kylin的安装,本文我们通过一个简单的例子来初探一下Kylin的使用。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、需求分析二、数据准备三、创建Kylin项目3.1登录系统3.2创建项目3.3选择数据源3.4创建Model3.5创建Cube一、需求分析需求:现有员工信息和部门信息两个文件,实现按照部门统计员工工资。二、数据准备1、将数据文件上传到服务器中,其目录与数据大体如下图所示:2、...原创 2021-05-08 14:07:26 · 804 阅读 · 4 评论 -
六十三、Kylin的简介与安装
前面我们分别介绍了两个工作流调度系统——Oozie和Azkaban,本文我们来看一下一个全新的组件——Kylin。原创 2021-05-07 08:57:42 · 1383 阅读 · 4 评论 -
六十二、Azkaban使用示例
上一篇文章我们简单介绍了一下Azkaban以及怎样安装部署Azkaban,本文我们通过几个案例来看一下怎样使用Azkaban。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Azkaban调度单一job1、创建job文件type=commandcommand=echo 'This is first Azkaban job.'这里需要注意的是,job文件的后缀必须为.job,且需要将保存好的文件压缩成.zip格式,作业名称在项目中必须是唯一的。2、启动Azkaban,并创建.原创 2021-04-29 09:45:20 · 1772 阅读 · 4 评论 -
六十一、Azkaban的简介与安装
一个完整的数据分析系统通常都是由大量任务单元组成,例如:shell脚本,Java程序,MapReduce程序、Hive脚本等,各任务单元之间存在时间先后及前后依赖关系,为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行。类似于Oozie,Azkaban便是一个工作流调度的组件。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Azkaban简介1.1什么是AzkabanAzkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特.原创 2021-04-25 15:16:35 · 2436 阅读 · 5 评论 -
六十、Oozie的使用示例
上一篇文章我们简单介绍了一下Oozie以及怎样安装部署Oozie,本文我们通过几个案例来看一下怎样使用Oozie。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、Oozie调度shell脚本1、创建目录[root@master oozie-4.0.0-cdh5.3.6]# mkdir -p oozie-apps/shell2、在创建的shell目录下创建两个文件[root@master shell]# touch workflow.xml job.properties3原创 2021-04-19 09:12:46 · 1153 阅读 · 1 评论 -
五十九、Oozie的简介与安装
Oozie是一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、Oozie的简介1.1简介1.2模块1.3Workflow常用节点二、Oozie的安装部署2.1安装CDH版本的Hadoop2.1.1上传...原创 2021-04-16 08:58:45 · 1154 阅读 · 1 评论 -
五十八、Sqoop的常用参数及命令
上一篇文章我们讲述了Sqoop的安装已经一些基本操作,本文我们主要来看看它常用的一些参数和命令。Sqoop是一个非常简单的传输工具,我们进行简单的讲述,不在这上面浪费过多的时间,本文是Sqoop部分的最后一篇文章。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、Sqoop常用的命令二、Sqoop的公用参数2.1数据库连接参数2.2import参数2.3export参数2.4 hive参数三、Sqoop的特有参数3.1import3.2expor...转载 2021-04-14 08:57:42 · 1960 阅读 · 0 评论 -
五十七、Sqoop的安装与使用
本文我们介绍一个非常好用的数据传输工具——Sqoop。Sqoop是一款开源的工具,主要用于在Hadoop与传统数据库间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。关注专栏《破茧成蝶——大数据篇》,原创 2021-04-12 09:00:49 · 709 阅读 · 1 评论 -
五十六、HBase的优化
当一个组件到了优化部分的时候,基本上这个组件的内容就到了结尾部分了,本文我们给HBase收收尾,来讲一下HBase的优化。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~一、HBase的高可用在HBase中HMaster负责监控Region Server的生命周期,均衡Region Server的负载,如果HMaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对HMaster的高可用配置。这里需要注意的是,如果HMaster挂掉,H原创 2021-04-08 15:18:12 · 2624 阅读 · 3 评论 -
五十五、HBase与Hive集成
上篇文章我们讲述了HBase中的协处理器并通过一个简单的示例实现了数据同步插入的问题,本文我们来看一下HBase与Hive的集成。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、HBase与Hive集成的必要性二、HBase与Hive集成2.1 jar包拷贝2.2修改配置文件三、案例3.1案例一3.1.1需求说明3.1.2需求实现3.2案例二3.2.1需求说明3.2.2需求实现一、HBase与Hive集成的必要性Hive是建...原创 2021-04-01 08:29:15 · 2026 阅读 · 2 评论 -
五十四、HBase的协处理器
在旧版本的(<0.92)HBase中无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。例如统计数据表的总行数,需要使用Counter方法,执行一次MapReduce Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单的相加或者聚合计算的时候,如果直接将计算过程放置在server端,能够减少通讯开销,从而获得更好的性能提升。于是,HBase在0.92之后引入了协处理器(coprocessors),从而实现了轻易建立二原创 2021-03-29 15:33:53 · 847 阅读 · 2 评论 -
五十三、通过MapReduce实现HBase操作
通过HBase的相关JavaAPI,我们可以实现伴随HBase操作的MapReduce过程,比如使用MapReduce将HBase表中的数据拷贝到另外一张表。本文我们通过两个案例来进行实操一下,关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、将HBase表数据复制到另外一张表1.1需求说明1.2编码实现1.3测试二、将HDFS的数据写入到HBase中2.1需求说明2.2编码实现2.3测试一、将HBase表数据复制到另外一张表1.1需求说...原创 2021-03-24 09:00:05 · 2727 阅读 · 1 评论 -
五十二、HBase的API操作
前几篇文章我们介绍了HBase的原理以及安装部署、命令行操作等知识,本文我们来看一下HBase的API操作。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、环境准备二、HBaseAPI操作2.1获取HBase连接对象2.2判断命名空间是否存在2.3判断HBase中是否存在某张表2.4创建表2.5操作表2.6删除表2.7删除表数据三、完整代码一、环境准备首先需要新建工程并导入相关的依赖,如下所示: <de...原创 2021-03-19 09:34:36 · 1457 阅读 · 0 评论 -
五十一、HBase的原理
上一篇文章我们介绍了如何部署HBase以及HBase常用的命令行操作,本文我们从HBase的读写流程出发来看一下HBase的原理。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、HBase的架构二、HBase的读数据流程三、HBase的写数据流程四、数据flush的过程五、数据合并(compaction)过程一、HBase的架构尽管在前文中我们已经说过HBase的架构了,但是为了加深印象,我们这里再唠叨一下,他的架构图如下所示:HMaster用于管理整个原创 2021-03-18 09:34:41 · 1555 阅读 · 3 评论 -
五十、HBase的安装以及命令行操作
上一篇文章我们从HBase的特点、架构和数据结构出发介绍了一下HBase,本文我们来看看如何部署HBase以及它的命令行操作。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、HBase安装部署1.1环境准备1.2安装包准备1.3修改配置文件1.4分发1.5启动HBase二、命令行操作一、HBase安装部署1.1环境准备因为HBase依赖于Zookeeper,所以在安装部署HBase之前,必须启动Zookeeper集群。1.2安装包准...原创 2021-03-17 09:12:07 · 1916 阅读 · 3 评论 -
四十九、HBase介绍
传统的RDBMS关系型数据库(例如SQL)存储一定量数据时进行数据检索没有问题,可当数据量上升到非常巨大规模的数据(TB或PB)级别时,传统的RDBMS已无法支撑,这时候就需要一种新型的数据库系统更好更快的处理这些数据,我们可以选择HBase。本文主要是对HBase进行的一个简单介绍,包括HBase的特点、架构以及数据结构。原创 2021-03-15 09:00:58 · 1585 阅读 · 4 评论 -
四十八、Kafka的监控工具
今天我们来介绍几个Kafka的监控工具,这部分做一下了解即可,因为现在的大数据平台都有自己的监控界面,可以从监控界面上监控Kafka,只有在单独使用ApacheKafka集群的时候才会用到咱们本章讲解的监控工具,这种业务场景就现在来说已经不多了,所以本文只做了解即可,不用过多的深究,到时候会有专门的大数据监控平台。同时,这也是Kafka部分的最后一章了,关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~文中涉及到的监控工具,均可通过此处进行下载~目录一、KafkaMonitor二、K..原创 2021-03-11 16:07:23 · 2876 阅读 · 3 评论 -
四十七、Kafka中的拦截器(Interceptor)
前两篇文章我们分别介绍了Kafka生产者和消费者的API,本文我们介绍一下Kafka中拦截器的知识。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、拦截器介绍二、拦截器案例2.1需求2.2代码实现2.3测试一、拦截器介绍Kafka Producer拦截器(Interceptor)主要用于实现clients端的定制化控制逻辑。对于Producer而言,Interceptor使得用户在消息发送前以及Producer回调逻辑前有机会对消息做一些定制化需求,比如修...原创 2021-03-10 08:58:04 · 2650 阅读 · 6 评论 -
四十六、Kafka消费者(Consumer)API介绍
有生产者的API自然也就会有消费者的API,上篇文章我们通过几个简单的编码学习了Kafka生产者的API,本文我们来看一下消费者的API。Consumer消费数据时的可靠性是很容易保证的,因为数据在Kafka中是持久化的,故不用担心数据丢失问题。由于consumer在消费过程中可能会出现断电宕机等故障,consumer恢复后,需要从故障前的位置的继续消费,所以consumer需要实时记录自己消费到了哪个offset,以便故障恢复后继续消费。所以offset的维护是Consumer消费数据是必须考虑的问题。下原创 2021-03-08 09:55:37 · 5001 阅读 · 8 评论 -
四十五、Kafka生产者(Producer)API介绍
前几篇文章我们主要介绍了一些理论上的知识,下面我们来实操一下,本文主要讲解Kafka生产者的API。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中拉取消息发送到Kafka broker。原创 2021-03-05 10:00:34 · 2126 阅读 · 4 评论 -
四十四、Kafka的架构
上篇文章主要介绍了Kafka的安装部署,以及一些简单的命令行操作。本文我们来深入的研究一下Kafka的架构,关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~目录一、Kafka工作流程二、Kafka文件存储机制三、Kafka生产者3.1分区策略3.1.1分区的原因3.1.2分区的原则3.2数据可靠性3.2.1副本同步策略3.2.2 ack应答机制3.2.3故障处理3.3ExactlyOnce语义四、Kafka消费者4.1消费方式...原创 2021-03-03 09:34:29 · 1552 阅读 · 1 评论