自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

转载 Linux shell定时任务

Linux shell定时任务(超详细)https://www.cnblogs.com/mingforyou/p/3930636.html

2020-02-22 23:17:43 1167

转载 FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别

https://www.cnblogs.com/williamhu/articles/4974258.html

2019-12-16 10:15:16 323

转载 hive将HQL转换为MR任务执行

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能.说白了,hive就是MapReduce客户端,将用户编写的HQL语法转换成MR程序进行执行。那么,hive是如何实现将hql语法转换成Mr的呢?总的来说,Hive是通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指...

2019-10-25 13:37:39 1431

原创 flink对接kafka并且写进hdfs上(只有代码)

import java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}import org.apache.f...

2019-08-23 19:47:21 422

原创 flink 对接kafka写进hbase里(代码和pom)

hbase 里必须有表,不会自己创建import java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}...

2019-08-23 19:45:31 1022

原创 flink对接kafka并且写进MySQL(只有代码)

package ToMysqlimport java.sql.{Connection, DriverManager, PreparedStatement}import org.apache.flink.api.common.functions.MapFunctionimport org.apache.flink.api.common.serialization.SimpleStringS...

2019-08-23 13:53:43 785

原创 flink和kafka的对接

往kafka发送数据,kafka消费,需要启动kafka的消费者object KafkaProducerFromFlink { def main(args: Array[String]): Unit = { val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment...

2019-08-22 21:25:17 1924

原创 sqoop导入数据到HDFS,hive的命令

MySQL写进HDFS里bin/sqoop import --connect jdbc:mysql://node01:3306/test --username root --password root --table student --target-dir /sqoop --m 1–table 是数据库里的表, --target-dir是上传路径 --m 是你要用几个MapReduce来执...

2019-08-16 09:49:24 193

原创 flume扫描指定目录,并且直接显示数据

这里是扫描我root/logs下面的文件,sink发送端type=logger就是默认直接显示,把其余的type注释掉就可以啦读取的数据运行flume,显示读取的数据(中文读取不出来)flume运行命令flume-ng agent -n a1 -c conf -f /opt/software/flume-1.7.0/conf/flume-poll.conf -Dflume.root....

2019-08-12 20:21:08 382

原创 HBASE的详细介绍流程

HBASE 架构图Hbase基本组件说明:Client:包含访问Hbase的接口,并维护cache来加快对Hbase的访问,比如region的位置信息。HMaster:是hbase集群的主节点,可以配置多个,用来实现HA为RegionServer分配region负责RegionServer的负载均衡发现失效的RegionServer并重新分配其上的regionRegionSer...

2019-08-08 11:48:48 270

原创 hbase API用scala的写法,操作hbase表数据,非常简单

pom文件依赖如下: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</...

2019-08-08 11:24:14 3179

原创 hive和hbase 结合使用

hive和hbase对比1. hive(1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系, 以方便使用HQL去管理查询。(2) 用于数据分析、清洗 Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduce Hive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码...

2019-08-08 09:44:10 2327 2

原创 HBASE基本shell命令

进入hbase命令行./hbase shell显示hbase中的表list创建user表,包含info、data两个列族create 'user', 'info', 'data' 或者create 'user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}查看表的整体信息Describe ‘tab...

2019-08-06 21:12:15 149

原创 HBASE过滤器整合代码应用

HBASE过滤器大全整合使用/** * @describe:定义一个方法,接受一个过滤器,返回结果数据 * @Param: [filter] 过滤 * @Return: void */public void testScan(Filter filter) throws Exception { //拿到表对象 Table table = conn.getTable(Ta...

2019-08-06 19:44:51 131

原创 HBASE 过滤器整合

引言:过滤器的类型很多,但是可以分为两大类——比较过滤器,专用过滤器过滤器的作用是在服务端判断数据是否满足条件,然后只将满足条件的数据返回给客户端;hbase过滤器的比较运算符:(按照字典顺序进行比较) LESS < LESS_OR_EQUAL <= EQUAL = NOT_EQUAL <> GREATER_OR_EQUAL >= GREATER &...

2019-08-06 17:30:15 184

原创 Java写的HbaseAPI

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.filter.*;import org.apache.hadoop.hbase.filter.C...

2019-08-06 15:54:39 164

原创 flume接收netcat程序发送来的数据

你要安装好flume进入conf目录下vi 或者 vim vi flume-poll.conf 修改配置文件# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the source# 修改这里,type是你连接的类型,p...

2019-07-24 20:16:27 574

原创 SparkStreaming开窗函数reduceByKeyAndWindow,实现单词计数

架构图实现流程安装并启动生成者首先在linux服务器上用YUM安装nc工具,nc命令是netcat命令的简称,都是用来设置路由器。我们可以利用它向某个端口发送数据。yum install -y nc启动一个服务端并监听9999端口nc-lk 9999向指定的端口发送数据编写Spark Streaming程序package cn.test.sparkimport org....

2019-07-22 21:18:43 660

原创 spark-圆周率

计算圆周率:bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://node01:7077 \--executor-memory 1G \--total-executor-cores 2 \examples/jars/spark-examples_2.11-2.0.2.jar \10...

2019-07-22 07:13:22 436

原创 项目打成jar包,放到集群运行

首先打包package然后项目中要处理的源数据并没有打包进jar里,所有我们要把源数据放进hdfs上hdfs dfs -put 文件路径 上传路径 默认为 /user/root然后启动spark/sbin/start-all.sh然后下面代码就可以运行jar包spark-submit // 类的全路径名--class com.test // 主节点名字:端口-...

2019-07-21 21:20:28 860

原创 Spark SQL的详细介绍

Spark SQL的前世今生Shark是一个为Spark设计的大规模数据仓库系统,它与Hive兼容。Shark建立在Hive的代码基础上,并通过将Hive的部分物理执行计划交换出来。这个方法使得Shark的用户可以加速Hive的查询,但是Shark继承了Hive的大且复杂的代码使得Shark很难优化和维护,同时Shark依赖于Spark的版本。随着我们遇到了性能优化的上限,以及集成SQL的一...

2019-07-19 20:24:57 302

原创 Spark SQL

好了,废话不多说,在上篇文章讲解了Spark SQL,这次看一下怎么使用,请看以下代码片段 (很简单易懂,有什么补充或者不足请指教)这是源文件:1 zhangsan 202 lisi 293 wangwu 254 zhaoliu 305 tianqi 356 kobe 40import org.apache.spark.SparkContextimport org.apache...

2019-07-19 19:40:26 136

原创 UDAF使用

UDAF使用一、使用步骤使用UserDefinedAggregateFunction:首先我们要自定义一个类继承UserDefinedAggregateFunction,对每个阶段方法做实现在spark中注册UDAF,为其起一个函数名字然后就可以在sql语句中使用上面注册的函数名字调用二、案例写一个计算工资平均值的UDAF例子(1)首先创建原始数据:{“name”:“Micha...

2019-07-19 16:34:36 741

原创 Spark-Streaming整合kafka实战

kafka作为一个实时的分布式消息队列,实时的生产和消费消息,这里我们可以利用SparkStreaming实时计算框架实时地读取kafka中的数据然后进行计算。在spark1.3版本后,kafkaUtils里面提供了两个创建dstream的方法,一种为KafkaUtils.createDstream,另一种为KafkaUtils.createDirectStreamKafkaUtils....

2019-07-18 20:42:42 466

原创 spark-streaming整合flume

安装flume1.6以上版本spark-streaming-flume-sink_2.11-2.0.2.jar放入到flume的lib目录下写flume的agent,注意既然是拉取的方式,那么flume向自己所在的机器上产数据就行修改自己的scala-library版本,pom里面什么版本,找到地址传到flume/lib/这里我pom是2.11.8,所以传的是该jar包,传完之后把原来...

2019-07-18 20:29:06 371

原创 RDD的依赖关系

RDD的依赖RDD和它依赖的父RDD的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。窄依赖窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用总结:窄依赖我们形象的比喻为独生子女宽依赖宽依赖指的是多个子RDD的Partition会依赖同一个父RDD的Partition总结:宽依赖我...

2019-07-18 07:36:04 208

原创 SparkSql连接MySQL,操作数据

请看下面代码:object DFMysql { // 样例类 case class Person(name:String,kemu:String,score:Int) def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("").master("local").ge...

2019-07-17 07:46:12 1746

原创 DataSet是什么,怎么用

什么是DataSet?DataSet是分布式的数据集合。DataSet是在Spark1.6中添加的新的接口。它集中了RDD的优点(强类型和可以用强大lambda函数)以及Spark SQL优化的执行引擎。DataSet可以通过JVM的对象进行构建,可以用函数式的转换(map/flatmap/filter)进行多种操作。DataFrame、DataSet、RDD的区别假设RDD中的两行数据长这...

2019-07-16 19:26:45 13162

原创 UDF和UDAF,UDTF的区别

UDF:UDF(User-defined functions)用户自定义函数,简单说就是输入一行输出一行的自定义算子。是大多数 SQL 环境的关键特性,用于扩展系统的内置功能。(一对一)UDAFUDAF(User Defined Aggregate Function),即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组(一般是多行...

2019-07-16 17:09:08 6687

原创 idea快捷键大全

Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本 Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 ...

2019-07-16 17:00:26 82

原创 用Spark写UDF

操作的数据:{"city":"St. John's","avgHigh":8.7,"avgLow":0.6}{"city":"Charlottetown","avgHigh":9.7,"avgLow":0.9}{"city":"Halifax","avgHigh":11.0,"avgLow":1.6}{"city":"Fredericton","avgHigh":11.2,"avgLow"...

2019-07-16 16:53:23 311

原创 用Sparksql本地测试hive

首先配置pom.xml文件: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.11</artifactId> <version>2.0.2</ver...

2019-07-16 15:02:38 752

原创 Spark运行结构简洁版

mappartition:把每个分区中的内容作为整体来处理mapPartitionsWithIndex 函数作用同mapPartitions,不过提供了两个参数,第一个参数为分区的索引。mappartition之前应该先设置分区repartitionpartition 分区,默认为1,可以在local[] 设置,也可以parallelize的时候设置TaskSetManager 实例管理...

2019-07-16 08:53:13 112

原创 RDD和Dateframe的区别

RDD和Dateframe的区别:RDD只是封装了数据,不知道里面的数据到底是什么而Dateframe封装了数据也给数据加上了描述数据的字段,从而知道里面的数据到低是什么数据RDD的优缺点:优点:(1)编译时类型安全编译时就能检查出类型错误(2)面向对象的编程风格直接通过对象调用方法的形式来操作数据缺点:(1)序列化和反序列化的性能开销无论是集群间的通信, 还是IO操作都需要...

2019-07-15 21:01:02 526

原创 RDD的5大特性

RDD的5大特性:RDD是由一系列partition组成算子函数是作用于partition上的RDD之间有依赖关系,可溯源分区器是作用在k,v格式的RDD上partition对外提供最佳的计算为止,利于数据处理的本地化问题:什么是k,v格式的RDDRDD中的每个元素是一个个的二元组,name这个RDD就是k,v格式的RDDsc.textFile().spark 没有直接读取...

2019-07-14 09:12:33 653

原创 RDD的三大类算子总结

RDD编程APITransformation(转换):根据数据集创建一个新的数据集,计算后返回一个新RDD;例如:一个rdd进行map操作后生了一个新的rdd。Action(动作):对rdd结果计算后返回一个数值value给驱动程序;例如:collect算子将数据集的所有元素收集完成返回给驱动程序。Transformation    &nbsp...

2019-07-12 14:36:04 8032 1

原创 创建RDD三种方法

由一个已经存在的Scala集合创建。val rdd: RDD[Int] = sc.parallelize(Arrscay(1,2,3,4,5))由外部存储系统的文件创建。包括本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、Cassandra、HBase等。val rdd2 = sc.textFile("/words.txt")已有的RDD经过算子转换生成新的...

2019-07-12 14:24:47 4395

原创 RDD常用的算子操作

什么是RDD       RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将数据缓存在内存中,后续的...

2019-07-11 21:53:34 671

原创 一眼看懂map和flatmap的区别

map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象;而flatMap函数则是两个操作的集合——正是“先映射后扁平化”:操作1:同map函数一样:对每一条输入进...

2019-07-11 21:30:23 64548 5

原创 Scala隐式转换

案例一优雅的解决数据类型转换问题/定义一个隐式转换的方法 实现double-->int implicit def f1(d: Double): Int = { d.toInt } def main(args: Array[String]): Unit = { //转换成功 val a: Int = 4.5 val b: Int = 5.6 ...

2019-07-10 21:46:09 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除