![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
十有八九
这个作者很懒,什么都没留下…
展开
-
RDD和Dateframe的区别
RDD和Dateframe的区别:RDD只是封装了数据,不知道里面的数据到底是什么而Dateframe封装了数据也给数据加上了描述数据的字段,从而知道里面的数据到低是什么数据RDD的优缺点:优点:(1)编译时类型安全编译时就能检查出类型错误(2)面向对象的编程风格直接通过对象调用方法的形式来操作数据缺点:(1)序列化和反序列化的性能开销无论是集群间的通信, 还是IO操作都需要...原创 2019-07-15 21:01:02 · 542 阅读 · 0 评论 -
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 · 678 阅读 · 0 评论 -
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 · 450 阅读 · 0 评论 -
项目打成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 · 869 阅读 · 0 评论 -
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 · 145 阅读 · 0 评论 -
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 · 1767 阅读 · 0 评论 -
UDAF使用
UDAF使用一、使用步骤使用UserDefinedAggregateFunction:首先我们要自定义一个类继承UserDefinedAggregateFunction,对每个阶段方法做实现在spark中注册UDAF,为其起一个函数名字然后就可以在sql语句中使用上面注册的函数名字调用二、案例写一个计算工资平均值的UDAF例子(1)首先创建原始数据:{“name”:“Micha...原创 2019-07-19 16:34:36 · 742 阅读 · 0 评论 -
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 · 13503 阅读 · 0 评论 -
UDF和UDAF,UDTF的区别
UDF:UDF(User-defined functions)用户自定义函数,简单说就是输入一行输出一行的自定义算子。是大多数 SQL 环境的关键特性,用于扩展系统的内置功能。(一对一)UDAFUDAF(User Defined Aggregate Function),即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组(一般是多行...原创 2019-07-16 17:09:08 · 6752 阅读 · 0 评论 -
用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 · 317 阅读 · 0 评论 -
Spark-Streaming整合kafka实战
kafka作为一个实时的分布式消息队列,实时的生产和消费消息,这里我们可以利用SparkStreaming实时计算框架实时地读取kafka中的数据然后进行计算。在spark1.3版本后,kafkaUtils里面提供了两个创建dstream的方法,一种为KafkaUtils.createDstream,另一种为KafkaUtils.createDirectStreamKafkaUtils....原创 2019-07-18 20:42:42 · 469 阅读 · 0 评论 -
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 · 383 阅读 · 0 评论 -
用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 · 770 阅读 · 0 评论 -
Spark运行结构简洁版
mappartition:把每个分区中的内容作为整体来处理mapPartitionsWithIndex 函数作用同mapPartitions,不过提供了两个参数,第一个参数为分区的索引。mappartition之前应该先设置分区repartitionpartition 分区,默认为1,可以在local[] 设置,也可以parallelize的时候设置TaskSetManager 实例管理...原创 2019-07-16 08:53:13 · 116 阅读 · 0 评论