- 博客(102)
- 收藏
- 关注
原创 Flink ProcessFunction API(水位预警实例)
Flink ProcessFunction APIFlink提供了8个Process Function:1、KeyedProcessFunction2、TimerService 和 定时器(Timers)2.1 需求:监控水位传感器的水位值,如果水位值在五秒之内(processing time)连续上升,则报警2.2 需求:监控水位传感器的水位值,如果水位变化值大于传入的变化值,则报警。3、侧输出流(SideOutput)2.2 需求:监控水位传感器的水位值,判断水位值高于或者低于传入的警戒值我们之前学习
2021-01-05 20:10:24 821
原创 Flink基础以及开发步骤教程(从入门到放弃)
Flink的开发步骤以及基础和其他所有的计算框架一样,flink也有一些基础的开发步骤以及基础,核心的API,从开发步骤的角度来讲,主要分为四大部分1.EnvironmentFlink Job在提交执行计算时,需要首先建立和Flink框架之间的联系,也就指的是当前的flink运行环境,只有获取了环境信息,才能将task调度到不同的taskManager执行。而这个环境对象的获取方式相对比较简单// 批处理环境val env = ExecutionEnvironment.getExecution
2020-12-31 17:35:22 1639
原创 SparkStreaming中的Window操作(driver、executor的执行顺序以及 foreach 及 foreach partition 的效率)
SparkStreaming中的Window操作窗口函数定义1. 创建topic2. 开启生产者topic3. window(windowLength, slideInterval)3.1 测试4. countByWindow(windowLength,slideInterval)4.1 测试5. countByValueAndWindow(windowLength,slideInterval, [numTasks])5.1 测试6. reduceByWindow(func,windowLength,
2020-12-23 19:46:27 483
原创 SparkStreaming之用kafka 作为生产者输入数据实现Word Count
SparkStreaming之用kafka 作为生产者输入数据实现Word Count1. 创建topic2. 开启生产者topic3. Scala代码1. 创建topickafka-topics.sh --create --zookeeper 192.168.116.60:2181 --topic sparkKafkaDemo --partitions 1 --replication-factor 12. 开启生产者topickafka-console-producer.sh --topic
2020-12-21 19:28:43 202
原创 SparkStreaming通过nc -lk及读取本地文件进行Word Count
maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> &l
2020-12-21 19:07:37 397
原创 Kafka Stream将一个topic的数据进行业务处理写入到另一个topic中(拆分开每个id的分类关系)
kafka stream 将一个topic里的消息进行业务处理,再写入到另一个topic进行消费(拆分开每个id的分类关系)以 12112,1211,yes 的格式消费出来代码:package cn.bright.kafka;import org.apache.kafka.common.serialization.Serdes;import org.apache.kafka.streams.*;import org.apache.kafka.streams.kstream.KStream;
2020-12-21 17:42:02 2229
原创 kafka Stream实例(word count和sum功能)
java API操作实现kafka Stream1.启动kafka2.创建并启动生产者和消费者topic3.java代码操作kafkaAPI3.1 数据同步输出3.1.1 maven依赖3.1.2 java代码运行3.2 wordcount stream 实例3.2.1 按上面的步骤新创建并运行 :3.2.2 java代码运行3.3 sum stream 实例3.3.1 按上面的步骤新创建并运行 :3.3.2 java代码运行1.启动kafkazkServer.sh start //启动zooke
2020-12-17 16:37:54 876
原创 flume监控采集数据导入到kafka中topic进行消费
flume监控采集到的数据到kafka中topic进行消费1.创建kafka的topic2.创建并编辑flume脚本3.执行flume脚本4.复制数据到被flume监控的路径5.查看队列分区信息5.1查看队列信息数6.消费消息7.删除topic1.创建kafka的topickafka-topics.sh --create --zookeeper 192.168.116.60:2181 --topic user_friends_raw --partitions 1 --replication-facto
2020-12-08 20:11:56 2372
原创 kafka2.11安装(集群)以及介绍使用(有安装包)
需要事先安装好zookeeper:可参考zookeeper安装详情kafka2.11下载链接: https://pan.baidu.com/s/1P1WVr-KCeoaGYkNkikSkIw提取码: 3ryz1.kafka2.11安装文件配置tar-zxvf kafka_2.11-2.0.0.tgz -C /opt //解压mv kafka_2.11-2.0.0/ kafka211/ //改名cd /opt/kafka211/configvi server.properties添加
2020-12-03 19:56:55 1867
原创 flume采集数据实例(安装flume 、nc--telnet、监控 telnet、文件末尾变动内容、复制的指定路径文件到hdfs并过滤)
案例使用文件下载:链接: https://pan.baidu.com/s/12rMp76_W1fLvOwW9_hvfGg提取码: u3v5使用Flume的关键就是写配置文件1)配置Source2)配置Channel3)配置Sinks4)将以上三种组件串联起来安装flume解压flumne压缩包到指定目录内进入到flumne的conf目录下复制flume-env.sh.template --> flume-env.sh修改flume-env.sh文件:export JAVA_H
2020-12-02 20:01:34 1576
原创 flume数据采集拦截器实例(编写Java代码实现拦截器方法)
Flume拦截器实例Java代码实现功能flume脚本flume路径下执行命令监控界面hdfs 查看数据收集情况现在需要监听netcat方式输入的文本内容要求:将含有kb07 和 kb09的字符的内容放在hdfs上的各自命名的文件夹下文字内容:aaaaaaakb09bbbbbbbbbbbbbbbbbbbbbbbbbbbbkb07ccccccccccccccccccccccccckb09cdddddddddddddddddaaaaaaakb09dddddddddddddddbbbbbbbbbk
2020-12-01 20:08:36 1063
原创 SparkSql 实现日志数据处理及分析(以空格为分隔符)
SparkSql 实现日志数据处理及分析1、test.log 文件下载链接:链接: https://pan.baidu.com/s/10Zqq1A_ng18YbSd0SlCyFQ提取码: 5xx72、数据清洗使用Spark完成下列日志分析项目需求:日志数据清洗用户留存分析活跃用户分析活跃用户地域信息分析用户浏览深度分析读入日志文件并转化为RDD[Row]类型按照Tab切割数据过滤掉字段数量少于8个的对数据进行清洗按照第一列和第二列对数据进行去重过滤掉状态码非200过滤掉ev
2020-11-27 12:19:38 1454
原创 sql练习50题 SparkRDD版本(含spark-shell 连接mysql方法)
Spark-shell连接MySQL将hive/conf里面的 hive-site.xml复制到spark/conf/将hive/lib里面的mysql-connector-java-5.1.38.jar复制到spark/jars/需要重新启动spark-shell读取MySQL文件,返回一个dataFrame[root@hadoop001 software]# mysql -uroot -pokmysql> create database school;Query OK, 1 r
2020-11-26 19:20:56 379
原创 Spark解析json格式文件(spark-shell和Idea scala版本)
scala> val fileRDD=sc.textFile("hdfs://192.168.116.60:9000/kb09file/op.log")scala> val jsonStrRDD=fileRDD.map(x=>x.split('|')).map(x=>(x(0),x(1)))scala> val jsonRDD=jsonStrRDD.map(x=>{var jsonStr=x._2;jsonStr = jsonStr.substring(0,j.
2020-11-22 17:06:47 540
原创 Spark SQL 自定义函数实例(UDF、UDAF、UDTF)
Spark SQL UDF(自定义函数)实例(UDF、UDAF、UDTF)UDF函数分类及说明UDF分为三种:UDF :输入一行,返回一个结果 ;一对一;比如定义一个函数,功能是输入一个IP地址,返回一个对应的省份UDAF:输入多行,返回一行;aggregate(聚合),count,sum这些是spark自带的聚合函数,但是复杂的业务,要自己定义UDTF:输入一行,返回多行(hive);一对多;sparkSQL中没有UDTF,spark中用flatMap即可实现该功能自定义UDF函数及使用1.
2020-11-17 18:54:24 1217
原创 Spark SQL操作外部数据源实例(Parquet文件、MySQL、Hive、内置函数、自定义函数)
maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <
2020-11-17 09:45:01 458
原创 Spark-submit 提交jar包操作hdfs上的文件完成WordCount功能(有打jar包过程)
Spark-submit 提交jar包执行WordCount功能1. word.txt文件内容2. MAVEN依赖3. properties文件创建4. Scala代码5. 打jar包过程6. 开启Spark7. 执行jar包8. 结果在 hdfs上 查看结果文件1. word.txt文件内容hello worldhello kb09hello hehe在hdfs上新建kb09file2文件夹hdfs dfs -mkdir /kb09file2将word.txt上传到hdfshdfs
2020-11-13 11:43:13 2338
原创 Maven工程实现Spark api—wordcount和打印hdfs文件(非常详细的maven工程创建过程以及不显示日志打印)
创建Maven项目实现Spark api——wordcount功能1、使用idea新建maven工程2、添加依赖包3、创建 scala 程序4、开始写wordcount功能以及打印hdfs上内容的程序1、使用idea新建maven工程GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、
2020-11-03 15:59:55 440
原创 Spark2.4.5、Scala2.11高可用环境搭建(有安装包链接)
Spark2.4.5、Scala2.11完全分布式环境搭建1、下载安装文件2、打开虚拟机、mobax工具连接3、先上传安装文件到一台虚拟机的software文件夹中,后面再将安装好的文件传输(scp)到另外两台虚拟机4、Scala安装5、Spark完全分布式高可用环境搭建6、验证验证 高可用模式是否成功高可用测试(看看是否是假的高可用)1、下载安装文件链接: https://pan.baidu.com/s/1dXuJYrUM1l6tOLSj41SyyQ 提取码: ustf2、打开虚拟机、mobax工
2020-10-30 17:23:01 987
原创 Scala学习——Array的方法实例 (完结+有序号方便学习)
Scala:Array(集合、序列)数组是一种可变的、可索引的数据集合。在scala中用Array[T]的形式来表示Java中的数组形式 T[]。val numbers = Array(1,2,3,4) //声明一个数组对象val first = numbers(0) //读取第一个元素numbers(3) = 100 //替换第四个元素为100、val biggerNumbers = numbers.map(_ * 2) //所有元素乘2Scala提供了大量的集合操作:(d
2020-10-27 20:06:08 1136
原创 Sqoop 1.4.6环境安装以及数据迁移hdfs、hive、hive分区、hbase、增量导入、创建sqoop job(定时执行脚本方法)
一、 Sqoop 安装安装 Sqoop 的前提是已经具备 Java 和 Hadoop、 Hive、 ZooKeeper、 HBase 的环境1.1 下载并解压链接:https://pan.baidu.com/s/1-i56m_mmLdKE_NqYpCzRhA提取码:t2c31.上传安装包 sqoop-1.4.6-cdh5.14.2.tar.gz 到虚拟机中2.解压 sqoop 安装包到指定目录 改名sqoop 方便使用tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz
2020-10-21 17:30:25 346
原创 Scala2.11安装——windows以及IntelliJ IDEA 2018.2.2版本Scala插件安装(有安装包下载链接)
Scala安装——windowsScala----windows安装文件及IDEA 2018.2.2插件:1、scala-2.11.12.msi2、scala-intellij-bin-2018.2.4.zip下载链接:https://pan.baidu.com/s/1WkK4cp91Ov5p4HjysHhZ5w提取码:xaiz1、双击 scala-2.11.12.msi 进行安装:一直点击next记住安装地址右击我的电脑----属性----高级系统设置----环境变量----Path
2020-10-21 14:48:32 2525 3
原创 Hive基础(如何建表/分区表/分桶表/视图/侧视图)
Hive基本概念1.1 Hive简介1.1.1 什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。1.1.2 为什么使用Hive1.) 直接使用hadoop所面临的问题人员学习成本太高项目周期要求太短MapReduce实现复杂查询逻辑开发难度太大2.)操作接口采用类SQL语法,提供快速开发的能力。避免了去写MapReduce,减少开发人员的学习成本。扩展功能很方便。1.1.3 Hive的特点1.)可.
2020-09-17 08:21:59 1277
原创 hive1.1.0完全分布式环境安装(有安装包 步骤完整 不走弯路)
hive完全分布式环境安装hadoop高可用集群环境搭建(ntp的时间同步配置+有zookeeper安装包,完整的高可用配置文件步骤)利用辅助工具MobaXter在Linux centos7上安装mysql在以上安装Hadoop、zookeeper、mysql之后安装hive1.1.0:hive安装包下载:链接: https://pan.baidu.com/s/1jilr7caitNSv-QtaJfCrIg提取码: fvvk首先解压: tar -zxvf hive-1.1.0-cdh5.1
2020-09-14 13:35:03 1807
原创 hadoop2.6.0学习——伪分布式环境搭建(有安装包 非常详细)
在搭建hadoop环境之前需要先把jdk环境安装完成没有jdk环境的可以看我的另一篇博客:利用辅助工具MobaXter在Linux centos7上配置jdk环境然后下载hadoop安装包链接:链接: https://pan.baidu.com/s/10vl0j7xwpYiM2lnGnuOyfA提取码: t37t1、先在linux根目录下创建一个专门放安装包的文件夹:mkdir softwarecd /software将需要的安装包拖入到文件夹里下面进行解压 tar -zxvf had
2020-09-07 17:53:34 1806
原创 ubuntu连接mobax 安装python2.7 修改sbt下载源 并打包sbt-launch.jar
ubuntu安装 python2.7(参考网址)https://linuxize.com/post/how-to-install-pip-on-ubuntu-18.04/首先使用以下命令更新包列表:$ sudo apt-get update然后安装python2.7$ sudo apt-get install python2.7$ sudo apt update安装python2.7 pip$ sudo apt install python-pip$ pip install --upgra
2021-08-02 15:34:11 605
原创 Ubuntu+Docker+Centos7 数据仓库环境部署
Ubuntu+Docker+Cenos7 数据仓库环境部署https://www.yuque.com/docs/share/5ccf027d-7944-42ee-a3e1-4f479ae662cb?# 《安装问题锦集》一、Docker安装1.1 Centos Docker安装# 镜像比较大, 需要准备一个网络稳定的环境# 其中--mirror Aliyun代表使用阿里源curl -fsSL https://get.docker.com | bash -s docker --mirror Ali
2021-02-23 12:29:37 558
原创 Linux虚拟机扩容磁盘详细教程
最近在VMware虚拟机上使用Centos,用着用着,发现虚拟机的磁盘空间不够了。通过以下步骤成功扩展了根目录的磁盘空间1、Centos 关机,选择编辑虚拟机设置,硬盘,在实用工具那里选择“扩展”填写扩展的磁盘容量点击扩展后,VMware会提示磁盘已成功扩展。您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统。也就是说,这里扩展的磁盘空间,在操作系统里面还不可用,还没生效,需要在操作系统里面进行设置后才能使用。2、启动客户机操作系统Centos,查看磁盘情况输入指令fdisk -l
2021-01-12 20:11:38 19892 18
原创 Spark Streaming 自定义接收器实例
Spark Streaming可以从任意数据源接受流数据,而不仅仅是那些内置支持的数据源(如Flume、kafka等)。这就要求开发人员实现一个接收器(recevier),用于接收来自有关数据源的数据。本篇手册以一个自定义的接收器(recevier)实现和其在spark streaming中的应为为主线进行讲解。需要注意的是,自定义接收器可以用Scala或者Java实现。1. 实现自定义Receiver自定义接收器必须继承自抽象类Receiver,实现两个方法onStart():接收数据。onSto
2020-12-21 19:37:05 147
原创 Kafka Stream Window操作之Hopping、Tumbling 、Session
Kafka Stream窗口(1)Hopping Time Window(2)Tumbling Time Window(3)Sliding Window(4)Session Window(5)Hopping Time+Tumbling Time+Session Window 代码流式数据是在时间上无界的数据。而聚合操作只能作用在特定的数据集,也即有界的数据集上。因此需要通过某种方式从无界的数据集上按特定的语义选取出有界的数据。窗口是一种非常常用的设定计算边界的方式。不同的流式处理系统支持的窗口类似,但不尽
2020-12-21 17:28:56 1539
原创 kafka之java API模拟生产者消费者
kafka java API模拟生产者消费者1.Linux启动服务2.生产者代码Producer API消息发送流程Linux上查看生产者队列内容3.消费者代码Consumer APILinux上查看消费者队列内容4.maven依赖1.Linux启动服务zkServer.sh startkafka-server-start.sh -daemon /opt/server.properties[root@hadoop001 ~]# kafka-topics.sh --create --zookeepe
2020-12-07 20:06:47 249
原创 Spark Graphx航班分析
fly.csv文件下载链接: https://pan.baidu.com/s/1rDcrRxmXMpMIJyOp48zKAw提取码: erd9package Flyimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.graphx._/** * @Author Bright * @Date 2020/11/27 * @Description */object AirportsFenXi
2020-12-04 17:11:35 345
原创 Spark Graphx 算法(Connected Components算法和Pregel算法)
数据文件下载链接: https://pan.baidu.com/s/1AHSbfrweBPfkqPyWAImwAw 提取码Spark Graphx 算法1.Connected Components算法实例扩展分析:2.Pregel算法 求顶点5 到 其他各顶点的 最短距离输出结果:1.Connected Components算法实例参考链接:https://www.jianshu.com/p/8b0a4ce52703package suanfaimport org.apache.spark.g
2020-12-04 17:04:54 641
原创 java操作Mapreduce实现手机号上行 下行流量统计(有自定义分区规则方法)
java操作Mapreduce实现手机号上行 下行流量统计FlowBean类FlowMapper类FlowReducer类FlowDriver自定义分区规则使用自定义分区FlowDriverMaven依赖数据文件下载链接: https://pan.baidu.com/s/1lHd-Egpas2HR6U0TcsC6EQ 提取码: fffjFlowBean类package flow;import org.apache.hadoop.io.Writable;import java.io.DataIn
2020-12-04 16:12:29 398
原创 java实现hdfs文件操作(打印程序运行过程 maven依赖)
在main下面创建resources文件夹1.编辑添加log4j.properties 打印程序运行过程log4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c
2020-12-04 15:32:39 222
原创 java操作Mapreduce实现reducejoin(CustomerOrder业务)
CustomerOrders类package reduceJointest;import org.apache.hadoop.io.Writable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/** * @Author Bright * @Date 2020/12/3 * @Description */public class CustomerOrders imple
2020-12-03 20:14:54 154
原创 hive初学 有map格式(各种建表语句)
hive和beeline(hiveserver2)的区别:hive不需要启动服务再访问beeline需要先启动服务端再访问客户端beeline在查询效率上比hive高,beeline不支持update和deletehive:1、连接方式 hive -h hostname -p port2、加载文件 3、库级操作 同mysql4、表级操作 默认内部表,会默认在指定的存储空间中建立对应文件夹 只要把文件放入,表就可以读取到数据(需要和表结构匹配) 分区表
2020-11-26 19:33:53 1236
原创 hive项目之csv格式文件处理代码
1、常用日期函数year()month()date()unix_timestamp()from_timestamp()dateformat2、使用java编写udf及使用的流程继承UDF编写返回值Intwritetable 形参类型为Text1、java继承udf类编写udf函数(evaluate())(一个类一个方法)2、打fat包(包括所有依赖文件)3、把jar包放到linux上–永久udf函数4、在Linux命令行使用hdfs命令把jar上传到hdfs的路径5、creat
2020-11-26 19:29:03 599
原创 Spark graph图处理人际亲密度 笔记(spark-shell版本和idea scala版本 有maven依赖)
user.txt 文件内容:2 12 44 15 25 35 63 63 2package Graphimport org.apache.spark.sql.SparkSession// 导入Spark Graph包import org.apache.spark.graphx._object GraphStu { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().
2020-11-26 17:12:04 343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人