大数据hadoop
文章平均质量分 59
关于大数据的一些笔记
枣泥馅
本人爱好机械,爱好发明,正是我的爱好让我走上编程的道路,希望我的想法可以用我的代码实现!以前因为自己喜欢我爱发明,所以在大学的时候报了机械专业,并在一家国内数控技术挺好的企业上班。但是由于自己一直也爱好者编程,所以进入了IT领域!希望自己能够在这个领域能够展露头角!
展开
-
spark学习(13)之SparkStreaming的其他数据源
之前我们的SparkStreaming都是一些Socket的数据了,还有其他几种文件流:监控一个目录中文件变化,只要有新文件产生他就会读入RDD队列流:原创 2022-12-08 10:19:17 · 337 阅读 · 0 评论 -
flink学习(8)之分布式缓存、广播变量、累加器
1、分布式缓存缓存的是文件,当程序启动的时候把把这份文件拷贝到没给TaskManager上,当该taskManager上的task使用的时候直接调去本地副本上的文件即可。经常用到的一个函数就是RichMapFunction和open方法。代码:import org.apache.commons.io.FileUtils;import org.apache.flink.api.common.functions.RichMapFunction;import org.apache.flink.api.j原创 2021-05-24 22:58:17 · 531 阅读 · 0 评论 -
flink学习(7)之Transformation操作union、connect、filter、split、select、partition分区
flink的union操作在操作union操作之前必须保证列数相同、类型一致,它是把俩个数据流和在一起。准备数据源public class MyNoParalleSource implements SourceFunction<Integer> { private Boolean isRunning=true; private Integer counter=0; public void run(SourceContext<Integer> source原创 2021-05-06 22:40:34 · 581 阅读 · 0 评论 -
flink学习(6)之sink
在flink的官方文档中看到,无论是source还是sink都称之为flink的Connectors点击overview然后就可以看到它所有的cnnectors从上边的图片中我们发现,这些组件不是都作为source和sink,有的可以作为source,有的可以作为sink,有的同时当做source和sink。我们点击Redis(sink)可以看到flink提供了一个接口把数据发送的redis中。这个sink可以使用三种不同的方法与redis不同的环境进行通信。1、Single Redis Se原创 2021-03-08 21:29:24 · 1436 阅读 · 0 评论 -
flink学习(5)实时计算之数据源
1、基本数据源import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.ArrayList;import java.util.List;原创 2021-03-07 22:29:16 · 605 阅读 · 0 评论 -
flink学习(4)之join操作、笛卡尔操作、外连接操作
1、join操作import org.apache.flink.api.common.functions.JoinFunction;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.api.java.tuple.Tuple原创 2021-03-07 14:41:07 · 855 阅读 · 0 评论 -
flink学习(3)之flink的算子map,flatMap,mapPartition,filter,distinct
首先我们看flink的算子map、flatMap、mapPartition,这些都是flink的循环操作算子,下面是演示代码:import org.apache.flink.api.common.JobExecutionResult;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functions.MapFunction;import org.apache原创 2021-03-07 09:58:30 · 2265 阅读 · 0 评论 -
怎么在idea中添加scala程序
1.首先在windows上安装一个scala的环境,并配置环境变量在cmd命令行中执行scala -version可以查看版本号2.在idea中添加scala的插件(在idea中下载插件现在可能有点困难,所以自己想想办法找个代理试试)3.创建一个maven工程项目,然后在项目上右键添加Add Framework Support这样就添加了scala功能,就可以在项目中使用scala语法了。同时你在external liberies中发现有一个scala的包...原创 2021-03-06 22:32:19 · 6158 阅读 · 0 评论 -
flink学习(2)之搭建
flink安装部署其实挺简单,主要是有俩种方式,一种是Standalone模式,一种Flink on Yarn模式standalone模式比较简单,Flink on yarn模式重在理解安装和部署 (1)方式一:Standalone 解压:tar -zxvf flink-1.7.2-bin-hadoop27-scala_2.11.tgz -C ~/training/ 核心配置文件:conf/flink-conf.yaml...原创 2021-02-28 23:19:33 · 111 阅读 · 0 评论 -
flink学习(1)之flink的架构
体系架构图在flink计算框架中jobmanager是用处分配任务和调度资源的,taskManager是为了管理执行的任务的,slot才是真正执行任务的。在Ha的模式中zookeeper是用来做高可用的,当主节点停掉之后,需要把准备状态的standby节点切换成active状态...原创 2021-02-28 22:44:49 · 100 阅读 · 0 评论 -
如何使用flume采集日志到kafka中
之前我们讲过怎么flume日志采集组件,使用非常简单,在这里我们只需要把flume的sink模块换成kafka的模块就可以了。我们去flume的官方网站中找到这段sink配置我们进入flume官网后点击Documentation–》Flume User Guide我们只需把这段sink代码写到原来的agent的文件当中即可。a1.sinks.k1.channel = c1a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSinka1.si原创 2021-02-16 23:22:14 · 3196 阅读 · 0 评论 -
kafka如何监控
监控kafka主要使用到了俩个工具,一个是kafka-manager,一个是java中的JMX首先我们使用解压工具吧kafka-manager解压unzip kafka-manager-2.0.0.2.zip -d ../training/然后到减压的目录中找到刚刚减压完成的kafka,修改它的配置文件cd ../training/kafka-manager-2.0.0.2/vim conf/application.conf修改第二十四行把你的zookeeper地址填进去,这里的zookee原创 2021-02-16 22:13:20 · 6493 阅读 · 0 评论 -
启动kafka时报连接错误Opening socket connection to server **:2181 Will not attempt to authenticate using SASL
启动kafka时的错误:[2021-02-03 12:02:48,119] INFO Initiating client connection, connectString=bigdata112:2181,bigdata113:2181,bigdata114:2181 sessionTimeout=6000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeeperClientWatcher$@1d296da (org.apache.zookeeper.Zoo原创 2021-02-03 12:37:38 · 17062 阅读 · 0 评论 -
kafka学习(4)之scala实现消费者和生产者
需要注意的是在ScalaIde中如果创建maven工程的话还需要添加Scala环境添加依赖<dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.0</version> </dependency>原创 2021-02-01 21:39:25 · 791 阅读 · 0 评论 -
kafka学习(3)之java自定义消息对象
在网络上传输消息,所有的对象必须经过序列化,接收消息要反序列话。自定义对象的关键其实就是如果序列化和反序列话,我们使用FastJson来序列化自定义对象。需要俩个依赖<dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.0&l原创 2021-02-01 21:39:07 · 840 阅读 · 1 评论 -
kafka学习(2)之java的生产者和消费者
添加依赖:<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.0</version></dependency>生产者:import java.util.Properties;import org.apache.kafka.clients.p原创 2021-02-01 21:38:52 · 795 阅读 · 0 评论 -
Kafka学习(1)基础和搭建
kafka基础:(1)kafaka与其他的消息系统一样,发送的也是序列化的对象,比如String,和经过序列化处理的对象(2)消息类型:Queue:队列, 点对点的消息类型topic:主题,群发消息(3)消息系统:同步消息:得有返回值才能继续往下执行异步消息:不需要等待返回值就可以继续往下执行对于kafka创建同步消息还是异步消息其实很简单,就是创建发送消息的时候有没有返回Future对象,如果有Future对象,那么就是同步消息,如果没有就是异步消息。当然异步消息也可以添加回调函数,等待原创 2021-02-01 21:38:33 · 805 阅读 · 2 评论 -
Spark学习(12)之流式计算SparkStreaming中的sparkSql
我们可以使用sparkSql来计算实时流中离散的RDD,通过把DStream转化成DF, 然后在创建视图,再使用SparkSession执行标准的sql语句就可以。通过下面代码,我们可以发现这里创建DataFrame和以前的稍微有点差别,通过直接给DF指定字段来创建DataFrame的结构,这个指定的字段要和RDD中的结构对应import org.apache.spark.SparkConfimport org.apache.spark.streaming.StreamingContextimport原创 2021-01-21 17:05:16 · 815 阅读 · 0 评论 -
spark学习(11)之SparkStreaming实时计算
Spark Streaming基础:Spark Streaming makes it easy to build scalable fault-tolerant streaming applications.Spark Streaming使得大规模容错型的流失计算应用变得十分容易它的特点:(1)支持多种语言:java scala python sql(2)容易集成:当部署好spark的时候就spark Streaming已经集成了(3)容错机制:核型数据模型就是DataStream,DataSt原创 2021-01-21 15:37:19 · 1924 阅读 · 0 评论 -
spark学习(10)之代码实例
spark学习(9)是性能又换,就是基于内存的一些优化,因为自己没有实际操作,所有把它放在草稿里了,跳过(9)也可以直接学习(10)一、通过SparkSession的createDataFrame接口来创建dataFrameimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.types._import org.apache.spark.sql.Rowobject SparSqlDemo1 { def main(原创 2021-01-19 20:47:46 · 654 阅读 · 1 评论 -
spark学习(8)之其他类型数据源(jdbc/hive)生成DataFrame
(3)数据源jdbc注意:对于Oracle10来说,需要升级一下驱动,使用11g驱动除了这一这个,启动spark-shell的时候也需要把oracle的驱动jar加载一下,具体示例如下bin/spark-shell --master spark://bigdata111:7077 --jars /root/temp/ojdbc6.jar --driver-class-path /root/temp/ojdbc6.jar//访问Oracleval oracleDF = spark.read.form原创 2021-01-17 15:29:52 · 305 阅读 · 0 评论 -
spark学习(7)之使用SparkSession的CreateDataFrame和其他有格式(json/parquet)的数据源来创建DataFrame
在上一遍中我们讲了使用使用样本类case class创建DataFrame,这一篇我们来看一下怎么使用SparkSession创建DataFrame,我们看一下SparkSession的一个apiSparkSession.createDataFrame(rowRDD: RDD[Row], schema: StructType): DataFrame它使用俩参数一个是RDD[Row],一个是StructType我们需要把数据集转化成RDD[Row]的格式,然后使用StructType构建DataFram原创 2021-01-17 11:28:58 · 2847 阅读 · 0 评论 -
spark学习(6)之SparkSQL基础
一、Spark SQL的基础:1、Spark SQL的简介Spark SQL is Apache spark’s module for working with structured dataSpark SQL 是apache spark用来出来结构化数据的模块特点:(1)容易集成成,安装好spark后就带有spark sql了(2)统一的数据访问接口DataFrame(3)兼容hive(4)支持标准的数据访问方式:JDBC,ODBC2、SparkSQL的核心数据模型是DataFrame:原创 2021-01-16 23:27:12 · 1902 阅读 · 1 评论 -
spark学习(5)--之spark计算结果保存到oracle中
在spark把计算结果保存到oracle中的操作和前边的学习到的spark计算步骤基本一样,都是第一步创建SparkContext对象来连接spark第二步读取文件第三步执行计算第四步就就开始往hadoop中保存或者oracle中保存在创建工程的时候我们要导入spark中lib的包还需要把oracle中的驱动导入到程序当中,oracle的驱动在安装oracle的路径C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar这里我们主要是使用jdbc来往o原创 2021-01-16 10:42:32 · 1566 阅读 · 0 评论 -
spark学习(4)--自定义分区
spark自定义分区通过自定义的分区规则对rdd进行重新分区,并在保存的时候也可以分区保存import org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.Partitionerimport scala.collection.mutable.HashMapobject CustomPatition { def main(args: Array[String]): Unit原创 2021-01-14 22:02:52 · 742 阅读 · 0 评论 -
spark学习(3)--高级算子
1、mapPartitionsWithIndex、mapPartitions(func)对rdd中的每个分区进行某种处理def mapPartitionsWithIndexInternal[U:ClassTag](f:(Int,Iterator[T])=>Interator[U],preservesPartitiong:Boolean=false)Int :分区号,默认从0开始Iterator[T]:分区中的元素Iterator[U]:操作完成后的返回值操作:创建一个rdd:val原创 2021-01-11 15:06:03 · 460 阅读 · 0 评论 -
spark学习(2)之检查点和缓存机制
检查点检查点是spark的一种容错机制,它是在lineage过程中定时的把计算结果保存起来–》检查点目录lineage (血统):spark执行周期检查点目录分为:本地目录:需要spark-shell启动到本地模式hdfs目录:需要spark-shell启动到集群模式因为我们只一般用到hdfs,所以我们下面示例只说到把检查点设置到hdfs中,操作:1、开启spark-shell./bin/spar-shell --master spark://bigdata111:70772、设置检查原创 2021-01-11 15:05:17 · 614 阅读 · 0 评论 -
Spark学习(1)
介绍:spark是主从结构,主节点叫master,从节点叫workerspark的任务提交到master后,master再把任务分配给worker,worker再启动相应的excutor进程执行程序spark主要处理的是RDD,而RDD是一个分布式数据集合。1、启动伪分布环境cd sbin./start-all.sh2、通过spark的bin下的spark-shell客户端可以编写spark的程序。启动spark-shellcd bin./spark-shell --master sp原创 2021-01-11 15:04:27 · 708 阅读 · 0 评论 -
spark的安装
伪分布环境安装安装步骤:1、解压:tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C ~/training/2、核心的配置文件:conf/spark-env.shcp spark-env.sh.template spark-env.sh参数:export JAVA_HOME=/root/training/jdk1.8.0_181export SPARK_MASTER_HOST=bigdata111export SPARK_MASTER_PORT=7077因原创 2021-01-11 15:03:12 · 196 阅读 · 0 评论 -
storm代码处理单词计数
我们首先画一个单词计数流程图代码:spout组件package com.test.demo;import java.util.Map;import java.util.Random;import org.apache.storm.spout.SpoutOutputCollector;import org.apache.storm.task.TopologyContext;import org.apache.storm.topology.OutputFieldsDeclare原创 2020-07-26 21:37:20 · 486 阅读 · 0 评论 -
storm的数据处理流程和伪分布安装的安装过程
storm数据处理流程图storm也是主从架构,主节点叫nimbus,从节点叫supervisor,因为是主从结构所以它存在单节点故障的问题。主节点主要是用来提交任务的,当客户端client提交任务到nimbus上,nimbus就会把任务上传给zookeeper,如果supervisor监听到有任务提交到zookeeper中就最自动的从zookeeper节点中同步任务,并由spout组件和bolt组件去执行任务。spout组件是用来采集数据然后在初步处理数据后交给bolt组件,根据不同的操作可以通过原创 2020-07-16 23:54:50 · 316 阅读 · 0 评论 -
redis的主从复制和redis的cluster·
redis的主从复制特点: (1)读写分离:默认,主节点可读可写,从节点只读 (2)任务分离:主节点只负责写入数据,从节点读取数据,负责生成持久化文件架构:星型模型和线性模型星型模式中所有节点都从主节点通信,并请求主节点进行数据同步线性模型是一个串联模型,主机点只负责和一个从节点通信,其他的从节点和最近的从节点通信并请求获取数据 星型模型 优点:同步数据快,数据一致性好...原创 2020-07-11 00:24:09 · 591 阅读 · 0 评论 -
redis的安装和简介
redis单机版安装第一步:把redis的安装包拷贝到/root/tools/的目录下解压redistar -zxvf redis-3.0.5.tar.gz编译make 安装make install PREFIX=/root/training/redis第二步:配置环境变量编译安装后的redis文件中只有一个bin文件夹我们需要创建一个conf目录mkdir conf拷贝一份配置文件到conf目录下cp redis-3.0.5/redis.conf /root/trainin.原创 2020-07-09 16:07:26 · 211 阅读 · 0 评论 -
基于Zookeeper搭建hadoop的HA功能
简介使用zookeeper和Hadoop的FailOverController的心跳检测来维护hadoop,并在hadoop宕机的时候通过zookeeper选举功能进行Active的切换并使用JournalNode来维护Namenode的日志和元信息集群规划Zookeeper集群:192.168.112.112 (bigdata112)192.168.112.113 (bigdata113)192.168.112.114 (bigdata114)Hadoop集群:192.168.112..原创 2020-07-05 17:06:58 · 597 阅读 · 0 评论 -
zookeeper集群搭建以及测试数据同步功能
Zookeeper集群搭建之前准备工作:时间同步关闭防火墙设置免密码登陆设置主机名设置host文件我们准备搭建一主俩从,所以需要三台服务器分别为bigdata112bigdata113bigdata114安装步骤:第一步首先把zookeeper的安装文件放到bigdata112上并进行解压tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training/第二步配置用户的环境变量vim ~/.bash_profileZOOKEEPER_HOME=原创 2020-07-04 17:56:24 · 4489 阅读 · 0 评论 -
Zookeeper的简介和使用
Zookeeper是架构模式是主从结构,用来存储一些数据,也可以做分布式协调服务,它的主节点叫leader,从节点叫follower。zookeeper允许一半的节点宕机。它的集群模式一般是奇数台服务器。单节点的安装zookeeper的安装其实特别简单。第一步减压tar -zxvf zookeeper-3.4.10.tar.gz -C ~/training/第二步 配置环境变量vim ~/.bash_profileZOOKEEPER_HOME=/root/training/zookeeper-原创 2020-07-04 16:38:45 · 1471 阅读 · 0 评论 -
sqoop数据采集
什么是sqoopsqoop的全称是SQL-To-Hadoop,它是一个关系型数据库和Hadoop之间数据交换的工具,它从sql导入到hadoop的过程叫做import,从hadoop导出sql的过程叫做export。import和export都是基于mapreduce的安装Sqoopsqoop的安装非常节点,只需要把它的包解压后,再配置一下环境变量就可以了如果采集Oracle中的数据,需要把Oracle安装包中lib的jar放入sqoop的lib目录中我的虚拟机中oracle的jdbc包ojdbc1原创 2020-07-03 01:30:31 · 1474 阅读 · 0 评论 -
大数据之数据采集引擎flum
大数据之数据采集引擎flumflum是用来采集文件的比如.log文件,也可以指定一个目录flum由三个组件组成,分别是:source 、channel、sinksource组件是用来采集日志channel组件是用来缓冲日志的sink组件是用来保存日志的我们把这三个组件共同组成框架叫做agent=source+channel+sinksink组件可以吧采集到日志信息保存到hdfs、hive、hbase等接下来我们就为这个agent来配置文件:...原创 2020-06-30 22:04:29 · 1388 阅读 · 0 评论 -
大数据分析引擎之presto简介
大数据分析引擎之presto简介简介:presto是一个大数据分析引擎,不属于hadoop体系,他是基于内存的。他的集群模式是主从式的。他可以与任何的大数据存储引擎做集成,集成的时候使用它的Connectors集成从这里我们可以他可以和kafka、mysql、内存、hive来做集成安装:1.解压:tar -zxvf presto-server-0.217.tar.gz -C ~/training/2.创建etc目录,并包含以下配置文件cd ~/training/presto-server-原创 2020-06-28 22:35:59 · 1601 阅读 · 0 评论 -
pig中通过pigLatin来分析数据
pig中的表的都是装在内存中的,如果pig命令行退出后这些表也不复存在。1、需要把Hadoop的JobHistory Server启动 mr-jobhistory-daemon.sh start historyserver Web Console:http://ip:19888/jobhistory 2、常用的PigLatin语句 (*)load:加载数据,创建表,相当于create table (*)foreac...原创 2020-06-23 23:44:50 · 757 阅读 · 0 评论