- 博客(79)
- 资源 (1)
- 收藏
- 关注
原创 基于zookeeper管理的java程序的高可用
执行程序:import org.apache.log4j.Logger;public class ExecutMain { private static Logger log = Logger.getLogger(ExecutMain.class); static ZkLock dc; public static void main(String[] args) {...
2021-01-11 15:23:04
250
原创 mqtt 服务器安装(Windows)
下载地址如下:http://www.emqtt.com/downloads下载完成后解压,一般不需要修改端口如需修改,需修改默认配置文件默认端口端口 用途1883 MQTT协议端口8883 MQTT(SSL)端口8083 MQTT(WebSocket), HTTP API端口18083 Dashboard管理控制台端口emqtt上述端口配置,可通过文件etc/emq.conf配置文件的listeners段落设置。listener.tcp.external = 0.0.0.0:1
2021-01-11 15:20:02
681
原创 Spark常用函数之键-值RDD转换+实例
摘要:RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子: Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住 了数据集的逻辑操作 Ation(执...
2019-02-17 18:57:35
613
原创 Impala和Hive的关系和区别
Impala和Hive的关系 Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。与Hive的关系 Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧...
2019-01-08 10:12:16
1370
原创 大数据系列之Flume(Flume+HDFS / Flume+Kafka)
1.flume概念flume是分布式的,可靠的,高可用的,用于对不同来源的大量的日志数据进行有效收集、聚集和移动,并以集中式的数据存储的系统。flume目前是apache的一个顶级项目。flume需要java运行环境,要求java1.6以上,推荐java1.7.将下载好的flume安装包解压到指定目录即可。2.flume中的重要模型2.1.1.flume Event:f...
2018-12-14 14:35:04
1124
原创 读取kafka写入另一个kafka
/** * Created by lmy on 2018/10/10. */public class TEST { public static void main(String[] args) { Properties props = new Properties(); props.put("bootstrap.servers", "host11:...
2018-12-14 10:55:19
1610
转载 mapreduce框架详解
我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习hdfs时候我就发现,要理解hadoop框架的意义,hdfs和mapreduce是密不可分,所以当我写分布式文件系...
2018-12-14 10:03:59
262
原创 spark读取HDFS多个文件配置
情况说明:数据以parquet文件形式保存在HDFS上,数据中的某一列包含了日期(例如:2017-12-12)属性,根据日期对数据分区存储,如下图所示: 项目需求: 在项目中想要读取某一个月的数据,肿么办? 解决方法: spark中读取本地文件的方法如下:sparkSession.read.parquet("hdfs://path")1方法一: 要读取多个文件,文件的路径中有一...
2018-12-14 09:59:33
11656
原创 hive大小表join优化性能
摘要: MAPJOIN 当一个大表和一个或多个小表做JOIN时,最好使用MAPJOIN,性能比普通的JOIN要快很多。 另外,MAPJOIN 还能解决数据倾斜的问题。 MAPJOIN的基本原理是:在小数据量情况下,SQL会将用户指定的小表全部加载到执行JOIN操作的程序的内存中,从而加快JOIN的执行速度。1、小、大表 join在小表和大表进行join时,将小表放在前边,效率会高。hive...
2018-12-12 20:18:37
23058
1
原创 Spark常用函数之键值RDD转换+实例
RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子: Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住 了数据集的逻辑操作 Ation(执行):触发...
2018-12-12 14:52:19
196
原创 Spark常用函数讲解之Action操作+实例
RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子: Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住 了数据集的逻辑操作 Ation(执行):触发...
2018-12-12 14:48:48
627
原创 linux中crontab命令
一、crond简介crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。系统任务调度:系统周期性所要执行...
2018-12-11 18:09:18
642
原创 Spark性能优化之数据倾斜调优与shuffle调优
一、数据倾斜发生的原理原理:在进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或join等操作。此时如果某个key对应的数据量特别大的话,就会发生数据倾斜。数据倾斜只会发生在shuffle过程中。常用的并且可能会触发shuffle操作的算子:distinct、groupByKey、reduceByKey、aggregateB...
2018-12-11 18:06:32
222
转载 spark +kafka +hbase
package com.prince.demo.test import java.util.UUID import com.typesafe.config.{Config, ConfigFactory}import org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.client.Putim...
2018-12-11 15:26:11
991
转载 谈谈基于Kerberos的Windows Network Authentication
前几天在给人解释Windows是如何通过Kerberos进行Authentication的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去。后来想想原因有以下两点:对于一个没有完全不了解Kerberos的人来说,Kerberos的整个Authentication过程确实不好理解——一会儿以这个Key进行加密、一会儿又要以另一个Key进行加密,确实很容易把人给弄晕;另一方面是我讲解方式有问题...
2018-12-05 10:23:12
574
转载 kafka使用SASL认证
1. JAAS配置Kafka使用Java认证和授权服务(JAAS)进行SASL配置。 为broker配置JAAS KafkaServer是每个KafkaServer/Broker使用JAAS文件中的部分名称。本节为broker提供了SASL配置选项,包括进行broker之间通信所需的任何SASL客户端连接。 客户端部分用于验证与zookeeper的SASL连接。它还允许broke...
2018-12-03 09:46:59
30767
2
原创 第15课:RDD创建内幕彻底解密
内容:1.RDD创建的几个方式2.RDD创建实战3.RDD内幕 第一个RDD:代表了Spark应用程序输入数据的来源通过Transformation来对RDD进行各种算子的转换实现算法RDD的3种基本的创建方式1,使用程序中的集合创建RDD;2,使用本地文件系统创建RDD;3,使用HDS创建RDD其他:4,基于DB创建RDD5,基于NoSQL,例如HBase6,基于S3创建RDD7,基于数据流创建...
2018-05-13 17:32:08
424
转载 spark算子:滑动窗口函数reduceByKeyAndWindow的使用
1.reduceByKeyAndWindow这个算子也是lazy的,它用来计算一个区间里面的数据,如下图:截图自官网,例如每个方块代表5秒钟,上面的虚线框住的是3个窗口就是15秒钟,这里的15秒钟就是窗口的长度,其中虚线到实线移动了2个方块表示10秒钟,这里的10秒钟就表示每隔10秒计算一次窗口长度的数据举个例子: 如下图我是这样理解的:如果这里是使用窗口函数计算wordcount 在第一个窗口(...
2018-05-07 09:14:59
5781
原创 第14课:spark RDD弹性表现和来源,容错
hadoop 的MapReduce是基于数据集的,位置感知,容错 负载均衡 基于数据集的处理:从物理存储上加载数据,然后操作数据,然后写入物理存储设备; 基于数据集的操作不适应的场景: 1,不适合于大量的迭代 2,交互式查询 重点是:基于数据流的方式 不能够复用曾经的结果或者中间计算结果; spark RDD是基于工作集的 工作流和工作集的共同特点:位置感知,自动容错,负载均衡等。 spark的位...
2018-05-06 16:14:37
2279
原创 第12课:spark高可用(HA)框架
worker管理资源:内存,cpu只有standby模式的master变成active模式时才能想集群提交任务,master切换过程不会影响程序的运行原因:程序在具体运行之前已经向集群申请过资源,这些资源已经提交给driver了,也就是说已经分配好资源了,这是粗粒度分配,一次性分配资源后不需要再关心资源分配,在运行时让executor和driver自动交互,弊端是如果资源分配太多,任务运行完不会很...
2018-04-21 15:49:19
239
原创 第7课:实战解析spark运行原理和rdd解密
1.spark运行优势善于使用内存,磁盘,迭代式计算是其核心2.现在为什么很多公司都是使用java开发sparka.scala高手较少,java高手较多b.项目对接比较容易c.系统运维方便3.spark只能取代hive的存储引擎,不能取代hive的数仓部分4.数据输出可以把数据输出到hdfs,hive,s3,hbase5.RDD弹性表现:a.rdd分片默认保存在内存,如果数据存储不了,则放到磁盘中...
2018-04-06 14:12:48
808
原创 Hive2.0函数大全(中文版)
Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数。 数学函数Return TypeName (Signature)DescriptionDOUBLEround(DOUBLE a)Returns the rounded BIGINT value of a.返回对a四舍五入的BIGINT值DOUBLEround(...
2018-03-14 17:49:47
283
原创 Spark的算子操作列表
Action 操作1、 collect() ,返回值是一个数组,返回dataframe集合所有的行2、 collectAsList() 返回值是一个java类型的数组,返回dataframe集合所有的行3、 count() 返回一个number类型的,返回dataframe集合的行数4、 describe(cols: String*) 返回一个通过数学计算的类表值(count, m
2018-03-08 14:42:51
2494
原创 linux常用命令大全
1.strings /lib64/libc.so.6 |grep GLIBC_ //查看GLIBC_版本2.rpm -qi xxxxxxx //查看已安装的rpm包3.ifconfig -a //查看ip设置4.查看磁盘空间du -h df -hvdu -sh * | sort -n a.du...
2018-03-02 15:05:08
407
原创 radis连接接集群方法
import java.io.IOException;import java.util.HashSet;import java.util.Set;import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import redis.clients.jedis.HostAndPort;import redis.clien...
2018-03-02 14:35:29
417
转载 Spark配置log4j日志输出
################################################################################ #①配置根Logger,其语法为: # #log4j.rootLogger = [level],appenderName,appenderName2,... #level是日志记录的优先级,分为OFF,TRACE,DEBU
2017-11-22 10:22:50
6023
原创 第17节:scala中Actor并发编程
package basicsimport scala.actors.Actor/** * Created by Administrator on 2017/11/16. *模拟两个人收发邮件 */object HelloActor { def main(args: Array[String]): Unit = { val helloActor = new HelloAc
2017-11-16 23:19:59
241
原创 第16节:scala使用implicit进行的隐式转换
package com.dt.spark.scala.bascis /** *使用implicit可以是所在类在执行没有的方法时检查下自己或者子类中是否存在该方法,如果存在则不会报错 *1.在object中隐式转换 *2.使用implicit 进行的隐式转换 */ class Man (val name:String) /* 第一种方式 *
2017-11-16 22:10:34
324
原创 第15节:scala编程之类型参数
package basics/** * sacla类型系统 * 1.scala的类和方法,函数可以是泛型,实例化时指定具体的类型,RDD几乎所有的类型定义都是泛型,因为RDD会派生很多子类 * 通过子类适配了各种不同数据源和业务逻辑 * 2.关于对类型边界的限定分为上边界和下边界: * 上边界:表达了泛型的类型必须是某种类型或者某种类型的子类,语法为:,这里的一个新的现象是对
2017-11-15 22:59:13
192
原创 第14节:scala编程之集合
package basics/** * 1.在scala集合体系中Iterable是共同的Trait,Iterable要求继承实现一些共同的方法 ,例如对元素的遍历 * 2.Array是一个非常基础的数据结构,不是从属scala集合的体系 * 3.scala集合的体系分为可变的集合(在scala.collection.mutable中)和不可变的集合(scala.collection.i
2017-11-15 22:18:36
189
原创 第13节:scala编程之模式匹配
package basics/** * 模式匹配 */class DataFrameWorkcase class ComputeionFramework(name: String, popular: Boolean) extends DataFrameWork {}case class StorageFramework() extends DataFrameWorko
2017-11-15 22:09:24
166
原创 第12节:Scala函数式编程进阶(匿名函数,高阶函数,函数类型推断,currying柯里化)
package basicsobject fuctionalPrograming { def main(args: Array[String]): Unit = { //1.函数和变量一样作为scala语言的一等公民,函数可以直接赋值给变量 val hidata= hibigdata _ hidata("spark") /* 2.幻术更常用的方式是匿名
2017-11-12 23:38:52
334
原创 第11节:scala面向接口编程
scala接口继承中第一个关键字一定是extends后面再出现接口要用with来实现接口scala中有个抽象属性:未被实例化的属性,必须说明类型,如val name:Stringscala对象的实例也可以混入接口,以扩展实例对象的功能package com.dt.spark.scala.bascistrait Logger{ def log(message:String){ print
2017-11-12 21:59:40
418
原创 第10节:scala面向对象编程中的继承
1.继承的作用:代码维护,代码复用2.类继承时不会继承其伴生对象,只是继承类本身。而类可以使用伴生对象的方法,这样非常灵活3.所有rdd的子类都可以继承其父类的大部分方法,因为其中有个权限问题,所以不能全继承 4.重写父类方法必须写override5.override可以复写父类的方法,也可以复写父类的属性6.isInstan
2017-11-12 21:38:40
264
原创 Spring Boot:(四)统一日志处理
并非只针对Spring Boot,如果你的项目用的是Spring MVC,做下简单的转换即可在你的项目中实现相同的功能日志管理的实现思路: 在Service层中,涉及到大量业务逻辑操作,我们往往就需要在一个业务操作完成后(不管成败或失败),生成一条日志,并插入到数据库中。那么我们可以在这些涉及到业务操作的方法上使用一个自定义注解进行标记,同时将日志记录到注解中。再配合
2017-11-06 19:50:56
682
原创 Spring Boot: (三)web开发配置
基础配置1、访问静态资源1)进入规则为 / 时如果进入SpringMVC的规则为/时,Spring Boot的默认静态资源的路径为:spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/pub
2017-11-06 19:50:36
372
原创 第9节:从spark源码角度分析scala面向对象思想
主构造器在scala中构造器一定用thissparkcontext运行一定有自己的配置对象有些全局配置可以在程序开始时就被实例化,有的可以不实例化,用lazy修饰,只有在使用的时候才会实例化scala中没有static来修饰静态变量活方法,所以全局用object来定义唯一的实例,如果想定义很多实例时,一般用工厂方法模式一般写框架的人都喜欢
2017-11-05 22:11:02
209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人