06 2019 档案
摘要:1)mapPartionWithIndex(func) 设置分区,并且查看每个分区中存放的元素 查看每个分区中元素 需要传递函数作为参数 val func = (index:Int,iter:Iterator[(Int)]) => {iter.toList.map(x => "partID:" +
阅读全文
摘要:1:什么是RDD? RDD(Resilient Distributed DataSet)是分布式数据集。RDD是Spark最基本的 数据的抽象。 scala中的集合。RDD相当于一个不可变、可分区、里面的元素可以并行计算的集合。 RDD特点:具有数据流模型的特点 自动容错 位置感知调度 可伸缩性 R
阅读全文
摘要:Spark框架学习 一:Spark概述 官网:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎。 为大数据处理而设计的快速通用的计算引擎。 Spark加州大学伯克利分校AMP实验室。不同于mapreduce的是一个Spark任务的中间 结
阅读全文
摘要:Spark使用底层通信框架AKKA 分布式 master Worker hadoop使用的是rpc 1)akka简介 写并发程序很难,AKKA解决spark这个问题。 akka构建在JVM平台上,是一种高并发、分布式、并且容错的应用工具包 akka用scala语言编写同时提供了scala和java的
阅读全文
摘要:1、什么是泛型类 和Java或者C++一样,类和特质可以带类型参数。在Scala中,使用方括号来定义类型参数 测试程序: 2、什么是泛型函数 函数和方法也可以带类型参数。和泛型类一样,我们需要把类型参数放在方法名之后。 注意:这里的ClassTag是必须的,表示运行时的一些信息,比如类型。 3、Up
阅读全文
摘要:20:Scala面向对象 Scala的面向对象 我们要封装数据,定义模板等操作,所以我们需要面向对象。 1)scala中的单例对象 在scala当中,是没有static的,scala给我们提供了单例模式的实现方法。就是使用 关键字object。 static在java中修饰属性和方法,目的是直接类名
阅读全文
摘要:八:Set 1 无序的,不重复的集合 Set不可变的集合 无序 2 HashSet可变的集合 val c = collection.mutable.HashSet(2,3,4) remove 删除元素 -= 删除元素 ++ 集合相加 ++= 相加并赋值 九:Map 1:不可变 Map: val m
阅读全文
摘要:*4 集合的高级函数(重点) count 统计个数 记得要加条件不然要报错 filter 过滤 条件:x>4 sortBy 排序 正序: 逆序(记得加个空格): sortWwith 排序 这里参数x1,x2可以理解为上一个元素和下一个元素进行比较,都是同一个集合中出来的元素进行对比。 grouped
阅读全文
摘要:六:scala数组 1 数组定义: 数组定义1: var arr = new Array[String](3) String:存储的元素类型 3:存储3个元素 添加元素: arr(1) = "dawn" 数组定义2: val arr1 = Array[Int](1,2,3,4,5,6) 改变内容:a
阅读全文
摘要:五:scala函数 1函数创建方式 方式1:方法转换为函数 方式:方法名 _ res6: (Int, Int) => Int = <function2> <function2> 代表一个函数,并且有两个参数。 (Int, Int) 代表参数列表 Int 代表返回值类型 => 代表函数 方式2 定义函
阅读全文
摘要:一:scala简介 官网:https://www.scala-lang.org/ Scala语言很强大,集成了面向对象和函数式编程的特点。 运行在JVM(jdk)。 大数据中为什么学习scala? spark是scala语言编写。 python写spark 挺好的 java写spark 很糟糕(代码
阅读全文
摘要:案例一:统计网站访问量(实时统计) 实时流式计算框架:storm 1)spout 数据源,接入数据源 本地文件如下 编写spout程序: 2)splitbolt 业务逻辑处理 切分数据 拿到网址 3)bolt 累加次数求和 4)Driver 使用字段分组 运行结果如下: 总共190条数据。统计完成之
阅读全文
摘要:五:storm-wordcount 实时版开发 1:编写Spout 2:编写分词bolt 3:编写计数bolt 4:编写driver驱动类 六:storm-wordcount 提交到集群上运行 1:打包程序到Linux上 2:提交任务 3:在Storm UI上看任务执行情况 七:分组策略 使用上面w
阅读全文
摘要:一:Storm概述 网址:http://storm.apache.org/ ApacheStorm是一个免费的开源分布式实时计算系统。Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理。Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣! Storm有许多
阅读全文
摘要:为什么使用多线程? 每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这个问题,引入线程池这种设计思想。 步骤一:线程池设计思路 步骤一:线程池设计思路 步骤一:线程池设计思路 1. 准备一个任务容器2.
阅读全文
摘要:七:kafka基本的Java API操作 案例一:send函数参数中不带回调函数的Producer API操作: 1:先启动一个消费者 2:编写代码如下 3:运行结果 案例二:自定义分区以及Send函数参数中使用带回调函数的Producer 1:还是使用morning主题 2:编写代码: 分区: 生
阅读全文
摘要:一:Kafka概述 离线部分: Hadoop->离线计算(hdfs / mapreduce) yarn zookeeper->分布式协调(动物管理员) hive->数据仓库(离线计算 / sql)easy coding flume->数据采集 sqoop->数据迁移mysql->hdfs/hive
阅读全文
摘要:10:Hbase优化方案 1)预分区设计 真正存储数据的是region要维护一个区间段的rowkey startRow~endRowkey -》手动设置预分区 create 'user_p','info','partition',SPLITS => ['101','102','103','104'
阅读全文
摘要:8:hbase基本API操作 这里我没在代码中写各种集群信息,而是将集群的配置文件放在了项目的resource中的,就可以直接读取到了 9:hbase-MR 官方Hbase-Mapreduce, 案例一:对一张表的rowkey进行计数 查看需要的包(由于hbase是基于hdfs之上的。所以我们要跑M
阅读全文

浙公网安备 33010602011771号