![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 57
翁老师的教学团队
这个作者很懒,什么都没留下…
展开
-
Sqoop的简单使用案例2
Sqoop的简单使用案例2、导出数据在Sqoop中,"导出"概念指:从大数据集群(HDFS,HIVE,HBASE)向非大数据集群(RDBMS)中传输数据,叫做:导出,即使用export关键字。》1 HIVE/HDFS到RDBMS$ bin/sqoop export \--connect jdbc:mysql://hadoop102:3306/company \--username root \--password 000000 \--table staff \--num-mappers原创 2021-06-03 08:37:49 · 167 阅读 · 4 评论 -
Sqoop的简单使用案例
Sqoop的简单使用案例1 导入数据在Sqoop中,"导入"概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。》》1.1 RDBMS到HDFS确定Mysql服务开启正常在Mysql中新建一张表并插入一些数据create database company;use company;create table company.staff(id int(4) primary key not null auto_i原创 2021-06-02 15:35:07 · 163 阅读 · 0 评论 -
Sqoop安装
Sqoop安装安装Sqoop的前提是已经具备Java和Hadoop的环境。1 下载并解压下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中解压sqoop安装包到指定目录,如:$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/2 修改配置文件原创 2021-06-02 15:18:47 · 138 阅读 · 0 评论 -
Sqoop概述
Sqoop概述Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,》1:可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,》2:也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache原创 2021-06-02 15:18:04 · 530 阅读 · 0 评论 -
Kafka API实战
Kafka API实战1 环境准备1)启动zk和kafka集群,在kafka集群中打开一个消费者[dev1@hadoop102 kafka]$ bin/kafka-console-consumer.sh \--zookeeper hadoop102:2181 \--topic first2)导入pom依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-cli原创 2021-06-01 16:30:57 · 175 阅读 · 0 评论 -
Kafka工作流程分析
Kafka工作流程分析1 Kafka生产过程分析1.1 写入方式producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。1.2 分区(Partition)消息发送时都被发送到一个topic,其本质就是一个目录,而topic是由一些Partition Logs(分区日志)组成,其组织结构如下图所示:我们可以看到每个Partition中的消息都是有序原创 2021-06-01 08:26:08 · 146 阅读 · 0 评论 -
Kafka集群部署
Kafka集群部署环境准备》1: 集群规划》2: jar包下载http://kafka.apache.org/downloads.htmlkafka_2.11-0.11.0.2.tgzKafka集群部署1)解压安装包[dev1@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/2)修改解压后的文件名称[dev1@hadoop102 module]$ mv kafka_2.11-0.11.0.0原创 2021-05-31 17:33:56 · 162 阅读 · 2 评论 -
Kafka概述
1 消息队列的模式与作用1.1消息队列的模式》1:什么是队列 ? FIFO》2:消息有两种传递模式点对点发布订阅(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。(2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者)发布订阅模型则是一个基于推送的消息传送模型。发布订阅模型可以有多种不同的订阅者,临时订阅者只在主动监听主题时才接收消息,而持久订阅者则监听主题的所有消息,即使当前订原创 2021-05-31 17:18:19 · 138 阅读 · 1 评论 -
SparkSQL 项目实战
SparkSQL 项目实战1.1数据准备我们这次 Spark-sql 操作中所有的数据均来自 Hive,首先在 Hive 中创建表,,并导入数据。一共有 3 张表: 1 张用户行为表,1 张城市表,1 张产品表创建目录/opt/module/input上传三个数据文件city_info.txtproduct_info.txtuser_visit_action.txt进入hive中执行CREATE TABLE `user_visit_action`(`date` string,`use原创 2021-05-28 11:03:47 · 821 阅读 · 0 评论 -
数据的加载和保存
数据的加载和保存1通用的加载和保存方式SparkSQL 提供了通用的保存数据和数据加载的方式。这里的通用指的是使用相同的API,根据不同的参数读取和保存不同格式的数据,SparkSQL 默认读取和保存的文件格式为 parquet1)加载数据spark.read.load 是加载数据的通用方法scala> spark.read.csv table format text jdbc json textFile load option options原创 2021-05-26 10:12:45 · 696 阅读 · 1 评论 -
SparkSQL 核心编程2 DataSet
SparkSQL 核心编程2DataSetDataSetDataSet 是具有强类型的数据集合,需要提供对应的类型信息。创建 DataSet1)使用样例类序列创建 DataSetscala> case class Person(name: String, age: Long) defined class Personscala> val caseClassDS = Seq(Person("zhangsan",2)).toDS()caseClassDS: org.apache.sp原创 2021-05-25 08:01:58 · 318 阅读 · 0 评论 -
SparkSQL 核心编程1 DataFrame
SparkSQL 核心编程1DataFrame本课件重点学习如何使用 Spark SQL 所提供的 DataFrame 和DataSet 模型进行编程了解它们之间的关系和转换关于具体的SQL 书写不是我们的重点。新的起点Spark Core 中,如果想要执行应用程序,需要首先构建上下文环境对象 SparkContext,Spark SQL 其实可以理解为对 Spark Core 的一种封装,不仅仅在模型上进行了封装,上下文环境对象也进行了封装。在老的版本中,SparkSQL 提供两种 S原创 2021-05-25 08:01:14 · 332 阅读 · 0 评论 -
SparkSQL概述
SparkSQL 概述SparkSQL 是什么Spark SQL 是Spark 用于结构化数据(structured data)处理的 Spark 模块。SparkSQL 特点1易整合无缝的整合了 SQL 查询和 Spark 编程2统一的数据访问使用相同的方式连接不同的数据源3兼容 Hive在已有的仓库上直接运行 SQL 或者 HiveQL4标准数据连接通过 JDBC 或者 ODBC 来连接SharkSparkSQL 的前身是 SharkHive 是早期唯一运行在Hadoop原创 2021-05-25 08:00:16 · 320 阅读 · 2 评论 -
Spark 运行架构
Spark 运行架构运行架构Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。Driver 表示 master,负责管理整个集群中的作业任务调度。Executor 则是 slave,负责实际执行任务。核心组件Spark 框架有两个核心组件:DriverExecutorDriverSpark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行工作。Driver 在Spark 作业执行时主要负责:将原创 2021-05-25 07:58:40 · 528 阅读 · 2 评论 -
spark其他模式
其他模式K8S & Mesos 模式Mesos 是Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核,在Twitter 得到广泛使用,管理着 Twitter 超过 30,0000 台服务器上的应用部署,但是在国内,依然使用着传统的Hadoop 大数据框架,所以国内使用 Mesos 框架的并不多,但是原理其实都差不多,这里我们就不做过多讲解了。容器化部署是目前业界很流行的一项技术,基于Docker 镜像运行能够让用户更加方便地对应用进行管理和运维。容器管理工具中最为流行的就是原创 2021-05-19 10:44:55 · 190 阅读 · 1 评论 -
Spark运行模式-yarn
Yarn 模式使用yarn作为资源调度框架的运行模式独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。Spark 主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调度框架集成会更靠谱一些。所以接下来我们来学习在强大的Yarn 环境下 Spark 是如何工作的(其实是因为在国内工作中,Yarn 使用的非常多)。部署》1 解压缩文件将 spark-3原创 2021-05-19 10:43:55 · 614 阅读 · 6 评论 -
Spark运行模式Standalone 模式
Standalone 模式Standalone 模式概述standalone n. 脱机; adj. 单独的,独立的;local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行所在开发中使用 Spark 自身节点运行的集群模式,也就是我们所谓的独立部署(Standalone)模式。Spark 的 Standalone 模式体现了经典的master-slave 模式。独立部署(Standalone)模式 = 主从集群规划:集群部署原创 2021-05-18 11:24:28 · 867 阅读 · 1 评论 -
Spark运行模式 local 模式
Spark 运行环境Spark 作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行, 在国内工作中主流的环境为Yarn,不过逐渐容器式环境也慢慢流行起来。接下来,我们就分别看看不同环境下Spark 的运行3.1Local 模式想啥呢,你之前一直在使用的模式可不是 Local 模式哟。所谓的Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等, 之前在 IDEA 中运行代码的环境我们称之为开发环境,不太一样。3.1.1解压缩文原创 2021-05-17 10:44:09 · 780 阅读 · 0 评论 -
Spark 概述
Spark 概述1.1 Spark 是什么Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。1.2 Spark 与 Hadoop 比较》1:Spark 出现的时间相对较晚》2:主要功能主要是用于数据计算所以其实 Spark 一直被认为是Hadoop 框架的升级版。首先从时间节点上来看:》 Hadoop2006 年 1 月,Doug Cutting 加入Yahoo,领导Hadoop 的开发2008 年 1 月,Hadoop 成为 Apache 顶级项目2011原创 2021-05-17 08:49:30 · 496 阅读 · 5 评论 -
Hbase 与Hive的集成
Hbase 与Hive的集成HBase与Hive的对比1.Hive(1) 数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。(2) 用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduceHive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。2.HBase(1) 数据库是一种面向列存储的非关系型数据库。(2) 用于存储原创 2021-05-14 15:06:42 · 406 阅读 · 0 评论 -
HBase与MapReduce
HBase API操作MapReduce通过HBase的相关JavaAPI,我们可以实现伴随HBase操作的MapReduce过程,比如使用MapReduce将数据从本地文件系统导入到HBase的表中,比如我们从HBase中读取一些原始数据后使用MapReduce做数据分析。》 1.查看HBase的MapReduce任务的执行使用哪些jar$ bin/hbase mapredcp》 2.环境变量的导入(1)执行环境变量的导入(临时生效,在命令行执行下述操作)$ export HBASE_H原创 2021-05-13 15:06:54 · 1608 阅读 · 0 评论 -
HBase API操作
HBase API操作环境准备新建项目后在pom.xml中添加依赖:<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version></dependency><dependency> <group原创 2021-05-11 11:36:21 · 917 阅读 · 3 评论 -
HBase数据结构
HBase数据结构HBase数据模型HBase和传统的数据库有很大的不同之处,比如MySQL,PostGreSQL,Oracle等设计hbase的表和传统关系数据库非常不同一个key-value存储结构的或者说是面向列族的数据库多版本映射的数据库行(Row)在表中数据依赖于行来存储,行通过行键来区分。行键没有数据类型,通常是一个字节数组。列族(Column Family)行中的数据通过列族来组织。列族也暗示了数据的物理排列。所以列族必须预先定义,并且不容易被修改。每行都拥有相同的列族,原创 2021-05-11 11:35:34 · 974 阅读 · 0 评论 -
HBase Shell操作
HBase Shell操作基本操作1.进入HBase客户端命令行[dev1@hadoop102 hbase]$ bin/hbase shell2.查看帮助命令hbase(main):001:0> help3.查看当前数据库中有哪些表hbase(main):002:0> list表的操作1.创建表hbase(main):002:0> create 'student','info'2.插入数据到表hbase(main):003:0> put 'studen原创 2021-05-08 11:29:53 · 584 阅读 · 0 评论 -
HBase概述
》 什么是HBaseHBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统》 HBase有什么用?利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。用于支持结构化的数据存储》 HBase特点1)海量存储Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩原创 2021-05-08 10:07:21 · 910 阅读 · 2 评论 -
centos MySql 安装
MySql 安装安装包准备1.查看mysql 是否安装,如果安装了,卸载mysql(1)查看rpm -qa|grep mysql(2)卸载 sudo rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_642.解压mysql-libs.zip 文件到当前目录[dev1@hadoop102 software]# unzip mysql-libs.zip[dev1@hadoop102 software]# lsmysql-libs.zipmysql原创 2021-04-28 10:48:56 · 297 阅读 · 0 评论 -
Hive 数据类型(重点)
Hive 数据类型基本数据类型对于Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。集合数据类型Hive 有三种复杂数据类型ARRAY、MAP 和 STRUCT。ARRAY 和 MAP 与Java 中的Array 和 Map 类似,而STRUCT 与C 语言中的 Struct 类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。案例实操1)假设某表有如下一行原创 2021-05-06 10:43:31 · 265 阅读 · 0 评论 -
Hive常用交互命令
Hive常用交互命令[dev1@hadoop102 hive]$ bin/hive -help》》1 "-e"不进入hive的交互窗口执行sql语句[dev1@hadoop102 hive]$ bin/hive -e "select id from default.student;"》》2 "-f"执行脚本中sql语句(1)在/opt/module/data目录下创建hivef.sql文件[dev1@hadoop102 data]$ vim hivef.sql文件中写入正确的sql语句原创 2021-05-06 10:41:55 · 317 阅读 · 0 评论 -
Hive的JDBC访问
beeline概述beeline 英[ˈbiːlaɪn] 美[ˈbiːlaɪn] n. (两地之间的)直线; 直路;Beeline是Hive新的命令行客户端工具,是基于SQLLine CLI的JDBC客户端。Hive客户端工具后续将使用Beeline 替代HiveCLI一般开发中不使用的原因:慢案例:查询数据库1启动hiveserver2bin/hiveserver2 1启动 beeline[dev1@hadoop102 hive]$ bin/beeline2连接 hi原创 2021-05-06 10:23:08 · 267 阅读 · 0 评论 -
Hive元数据配置到MySql
Hive元数据配置到MySql1 驱动拷贝1)在/opt/software/mysql-libs目录下解压mysql-connector-java-5.1.27.tar.gz驱动包[root@hadoop102 mysql-libs]# tar -zxvf mysql-connector-java-5.1.27.tar.gz2)拷贝/opt/software/mysql-libs/mysql-connector-java-5.1.27目录下的mysql-connector-java-5.1.27-原创 2021-04-28 10:49:18 · 608 阅读 · 2 评论 -
将本地文件导入 Hive 案例
将本地文件导入 Hive 案例需求将本地/opt/module/data/student.txt 这个目录下的数据导入到 hive 的student(id int, name string)表中。1 数据准备在/opt/module/data 这个目录下准备数据(1)在/opt/module/目录下创建 datamkdir -p /opt/module/data(2)在/opt/module/datas/目录下创建 student.txt 文件并添加数据[dev1@hadoop102原创 2021-04-28 10:48:10 · 613 阅读 · 0 评论 -
Hive架构原理
Hive 和数据库比较1由于 Hive 采用了类似 SQL 的查询语言 HQL(Hive Query Language), 因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本节将从多个方面来阐述Hive 和数据库的差异。数据库可以用在Online 的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive 的特性Hive 和数据库比较21查询语言由于 SQL 被广泛的应用在数据仓库中,因此,专门针对 H原创 2021-04-28 10:17:59 · 330 阅读 · 0 评论 -
Hive 入门
Hive概述什么是 Hivehive 英[haɪv] 美[haɪv]n. 蜂房; 蜂箱; 一箱蜜蜂; 蜂群; 忙碌的场所; 繁忙的地方;Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。本质是:将 HQL 转化成MapReduce 程序1)Hive处理的数据存储在HDFS2)Hive分析数据底层的实现是MapReduce3)执行程序运行在YARN上应用场景 :由 Facebook 开源用于解决海量结构化日志原创 2021-04-27 10:55:08 · 536 阅读 · 0 评论 -
监听服务器节点动态上下线案例
案例:监听服务器节点动态上下线案例1.需求某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。2.需求分析3.具体实现(0)先在集群上创建/servers节点create /servers "servers"Created /servers(1)客户端监听代码编写package com.dev1.zkcase;public class DistributeClient { private static String con原创 2021-04-22 10:44:59 · 391 阅读 · 0 评论 -
Zookeeper内部原理与面试题
监听器监听重要数据或者对象的变化(添加,删除,修改)》1:定义监听器public interface MyListener { public void process();}》2:在类中调用监听器//1:当前price是私有的,可以使用set方法//2:定义一个监听器,监听price,如果价格发生变化则执行监听器的方法//2.1定义了一个接口,接口内有一个processpublic class MyData { private String pname; p原创 2021-04-22 10:43:34 · 278 阅读 · 0 评论 -
Zookeeper实战(开发重点)Java API
API应用IDEA环境搭建1.创建一个Maven工程2.添加pom文件<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> </d原创 2021-04-21 11:48:31 · 326 阅读 · 0 评论 -
Zookeeper实战(开发重点)
选举机制(面试重点)1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。3)以一个简单的例子来说明整个选举的过程。假设有五台服务器组成的Zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。原创 2021-04-19 11:46:40 · 532 阅读 · 0 评论 -
Zookeeper安装
本地模式安装部署使用dev1账号操作1.安装前准备(1)安装Jdk(2)拷贝Zookeeper安装包到Linux系统下(3)解压到指定目录[dev1@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/2.配置修改(1)将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfg;[dev1@hadoop102 conf]$ mv z原创 2021-04-19 11:43:48 · 907 阅读 · 2 评论 -
Zookeeper入门
学习路线一 Zookeeper概述二 Zookeeper本地模式/分布式安装三 Zookeeper内部原理四 Zookeeper实战Zookeeper入门概述Zookeeper是什么?zoo keeper英[zuː ˈkiːpə(r)] 美[zuː ˈkiːpər]网络 动物园饲养员; 动物园管理员; 动物管理员; 动物园管理人; 动物园的饲养员;Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper=文件系统+通知机制Zoo原创 2021-04-19 11:42:40 · 388 阅读 · 0 评论 -
推测执行算法原理
任务的推测执行speculative 英[ˈspekjələtɪv] 美[ˈspekjələtɪv]adj推测的; 猜测的; 推断的; 揣摩的; 忖度的; 试探的; 投机性的; 风险性的》》1 什么是推测执行机制发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。谁先运行完,则采用谁的结果。》》2 什么是时侯执行备份Task一个作业由若干个Map任务和Reduce任务构成。因硬件老化、软件Bug等,某些任务可能运行非常慢。作业完成时间取决于最慢的原创 2021-04-15 10:49:03 · 473 阅读 · 0 评论