- 博客(29)
- 收藏
- 关注
原创 MySql允许远程连接命令
grant all on *.* to 用户名@'%' identified by '密码' with grant option;flush privileges;
2020-08-30 23:52:38 165
原创 Flume安装启动,入门案例
安装1,上传解压tar -zxvf apache-flume-1.9.0-bin.tar.gz -C ./ok,完成,解压即用2,启动根据数据采集的需求配置采集方案,描述在配置文件中(文件名可任意自定义)启动命令示例:bin/flume-ng agent -c ./conf ...开启内置监控功能:-Dflume.monitoring.type=http -Dflume.monitoring.port=34545入门案例taildir source + memor
2020-08-30 21:03:44 242
原创 Spark Streaming整合kafka
maven依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.12</artifactId> <version>3.0.0</version></dependency><dependency> <groupId>org.apach
2020-08-27 23:19:17 189
原创 Spark Streaming入门WordCount案例
maven依赖:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.12</artifactId> <version>3.0.0</version> </dependency>代码:import org.apache.spark.streaming.dstrea
2020-08-27 19:57:55 201
原创 clickHouse安装
#################单节点安装1)安装curl工具yum install -y curl2)添加clickhouse的yum镜像curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash3)检查镜像情况[root@linux03]# yum list | grep clickhouse click...
2020-08-24 20:20:30 414
原创 Redis常用操作命令
String127.0.0.1:6379> set name zhangsanOK127.0.0.1:6379> keys *1) "name"127.0.0.1:6379> get name"zhangsan"127.0.0.1:6379> set age 18OK127.0.0.1:6379> get age"18"自增 incr 自减 decr127.0.0.1:6379> incr age(integer) 19127.0.0.1
2020-08-23 23:26:00 166
原创 Redis数据类型
Redis中存储数据是通过key-value存储的,对于value的类型有以下几种:String Map<String, String>Hash Map<String, Map<String, String>>List Map<String, List>Set Map<String, HasSet>zSet Map<Stri...
2020-08-23 22:45:33 135
原创 java连接redis常用API
Maven依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.1</version></dependency>Stringimport redis.clients.jedis.Jedisobject StringValueDemo2 {
2020-08-23 22:38:59 375
原创 Redis安装
1,上传解压[root@linux03 app]# tar -zxvf ./redis-5.0.9.tar.gz -C ./2,进入到安装目录中,编译并安装redismake && make install如果报错的话,说明缺少gcc编译环境安装gcc:yum -y install gcc重新编辑:make MALLOC=libc && make install3,修改配置文件前两步执行完后redis已经安装完成,拷贝red
2020-08-23 21:48:02 132
原创 spark3.0新特性
1,动态分区裁剪老版本:比如上面的 SQL 查询,假设 t2 表 t2.id < 2 过滤出来的数据比较少,但是由于之前版本的 Spark 无法进行动态计算代价,所以可能会导致 t1 表扫描出大量无效的数据。有了动态分区裁减,可以在运行的时候过滤掉 t1 表无用的数据优化后:比如下面的查询,基于代价的模型优化不可能准确的评估而有了 AQE 之后,Spark 就可以动态统计相关信息,并动态调整执行计划,比如把 SortMergeJoin 变成 BroadcastHash.
2020-08-23 20:38:18 295
原创 SparkSQL自定义函数
1,UDF,输入一行返回一行(自定义拼接字符串案例):object MyUDF { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder() .appName(this.getClass.getSimpleName) .master("local[*]") .getOrCreate() import spark.impli
2020-08-21 20:36:29 360
原创 SparkSQL整合Hive
1,hive连接的MySQL中创建一个普通用户,并且授权 CREATE USER 'spark'@'%' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON hivedb.* TO 'spark'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;2,spark安装目录conf下添加hive-site.xml配置MySQL表空间,配置第一步创建的用户名和密码<
2020-08-20 18:50:03 238
原创 SparkSQL流量统计案例
数据:+---+-------------------+-------------------+----+| id| startTime| endTime|flow|+---+-------------------+-------------------+----+| 1|2020-02-18 14:20:30|2020-02-18 14:46:30| 20|| 1|2020-02-18 14:47:20|2020-02-18 15:20:30|
2020-08-19 23:43:00 370
原创 从结构化文件创建DataFrame
1,CSVobject CreateDataFrameFromCSV { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder() .appName(this.getClass.getSimpleName) .master("local[*]") .getOrCreate() //获取数据的schema信息,每一行都有读取
2020-08-18 21:41:40 387
原创 创建DataFrame的几种方式
1,从RDD[Case class类]创建DataFrameimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}object SparkSQL02 { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder().appName(this.getClas
2020-08-18 21:20:06 808
原创 SparkSQL第一个程序,统计wordCount
import org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}object SparkSQL01 { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder().appName(this.getClass.getName).master("local[*]").getOrCreate() .
2020-08-18 20:18:50 208
原创 Spark自定义排序
1,实现comparable接口和Serializable接口class GoodsBean( money: Double, pid: String, cid: String, coverUrl: String, title: String) extends Comparable[GoodsBean] with Serializable { override def compareTo(o: GoodsBean): Int = { this
2020-08-17 17:14:58 134
原创 Spark中OOM问题解决方案
1,避免在算子内部使用scala的方法将集合toList,如果只是取TopN的话可以定义排序规则,使用spark的top()算子错误示范:解决方法:定义排序规则,使用rdd的top() val bigdataRDD: RDD[((String, String), Int)] = rdd1.filter(_._1._1.equals(sub)) implicit val orderRules: Ordering[((String, String), Int)] = Or
2020-08-11 11:50:36 469
原创 Spark组内TopN
数据:http://bigdata.51doit.cn/laozhanghttp://bigdata.51doit.cn/laozhanghttp://bigdata.51doit.cn/laozhaohttp://bigdata.51doit.cn/laozhaohttp://bigdata.51doit.cn/laozhaohttp://bigdata.51doit.cn/laozhaohttp://bigdata.51doit.cn/laozhaohttp://bigdata.51
2020-08-10 22:49:23 146
原创 spark求连续登陆天数
数据:guid01,2018-02-28guid01,2018-03-01guid01,2018-03-02guid01,2018-03-04guid01,2018-03-05guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018-03-06代码:import java.text.SimpleDateFormatimport jav
2020-08-10 22:14:12 354
原创 fastjson转换scala对象 报错 :default constructor not found
报错:com.alibaba.fastjson.JSONException: default constructor not found. class解决:之前引入的是1.2.32版本的,fastjson低版本不兼容 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId>...
2020-08-07 23:05:27 724 3
原创 RDD的五个特性(入门)
1,有一些列连续的分区:分区编号从0开始,分区的数量决定了对应阶段Task的并行度2,有一个函数作用在每个输入切片上: 每一个分区都会生成一个Task,对该分区的数据进行计算,这个函数就是具体的计算逻辑3,RDD和RDD之间存在一些列依赖关系:RDD调用Transformation后会生成一个新的RDD,子RDD会记录父RDD的依赖关系,包括宽依赖(有shuffle)和窄依赖(没有shuffle)4,(可选的)K-V的RDD在Shuffle会有分区器,默认使用HashPartitioner5
2020-08-06 20:05:14 696
原创 集群和本地运行Spark程序
集群运行scala版package test01import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WordCount") val sc = new SparkCo
2020-08-04 21:21:10 249
原创 Scala编写Kafka连接程序
pom.xml <dependencies> <!-- 导入scala的依赖 --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.vers
2020-08-03 20:56:21 1611
原创 Kafka入门安装
Kafka特点:1.解耦:允许你独⽴的扩展或修改两边的处理过程,只要确保它们遵守同样的接⼝约束。2.冗余:消息队列把数据进⾏持久化直到它们已经被完全处理,通过这⼀⽅式规避了数据丢失⻛险。许多消息队列所采⽤的"插⼊-获取-删除"范式中,在把⼀个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从⽽确保你的数据被安全的保存直到你使⽤完毕。3.扩展性:因为消息队列解耦了你的处理过程,所以增⼤消息⼊队和处理的频率是很容易的,只要另外增加处理过程即可。4.灵活性 &
2020-08-03 19:17:06 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人