随笔分类 -  大数据技术

摘要:编程模型解释 RDD rdd.flatMap(_.split(" ")) .map((_, 1)) .reduceByKey(_ + _) .collect 针对自定义数据对象进行处理, 可以处理任意类型的对象, 比较符合面向对象 RDD 无法感知到数据的结构, 无法针对数据结构进行编程 DataF 阅读全文
posted @ 2021-01-18 17:01 喜欢爬的孩子 阅读(120) 评论(0) 推荐(1)
摘要:SparkStreaming Spark Streaming 的特点 特点说明 Spark Streaming 是 Spark Core API 的扩展 Spark Streaming 具有类似 RDD 的 API, 易于使用, 并可和现有系统共用相似代码 一个非常重要的特点是, Spark Str 阅读全文
posted @ 2021-01-17 21:55 喜欢爬的孩子 阅读(98) 评论(0) 推荐(0)
摘要:需求介绍 思路整理 需求 项目的任务是统计出租车在不同行政区的平均等待时间, 所以源数据集和经过计算希望得到的新数据集大致如下 源数据集 目标数据集 目标数据集分析 目标数据集中有三列, borough, avg(seconds), stddev_samp(seconds) borough 表示目的 阅读全文
posted @ 2021-01-17 14:50 喜欢爬的孩子 阅读(198) 评论(0) 推荐(0)
摘要:Spark SQL 基本操作: 将下列 JSON 格式数据复制到 Linux 系统中,并保存命名为 employee.json。 { "id":1 , "name":" Ella" , "age":36 } { "id":2, "name":"Bob","age":29 } { "id":3 , " 阅读全文
posted @ 2021-01-17 13:18 喜欢爬的孩子 阅读(872) 评论(0) 推荐(0)
摘要:词频统计: 要求:统计Harry Potter.txt文件中出现最多单词前十位 内容样例: 代码及结果: @Test//词频统计 def WordCount(): Unit ={ val conf=new SparkConf().setMaster("local[6]").setAppName("w 阅读全文
posted @ 2021-01-17 11:22 喜欢爬的孩子 阅读(254) 评论(0) 推荐(0)
摘要:SparkSQL 练习项目 - 出租车利用率分析 数据集结构 字段示例示意 hack_license BA96DE419E711691B9445D6A6307C170 执照号, 可以唯一标识一辆出租车 pickup_datetime 2013-01-01 15:11:48 上车时间 dropoff_ 阅读全文
posted @ 2021-01-16 19:44 喜欢爬的孩子 阅读(276) 评论(0) 推荐(0)
摘要:函数: 聚合每个类别的总价; val spark = SparkSession.builder() .appName("window") .master("local[6]") .getOrCreate() import spark.implicits._ val source = Seq( ("T 阅读全文
posted @ 2021-01-16 13:42 喜欢爬的孩子 阅读(158) 评论(0) 推荐(0)
摘要:spark-shell 交互式编程: 请到本教程官网的“下载专区”的“数据集”中下载 chapter5-data1.txt,该数据集包含 了某大学计算机系的成绩,数据格式如下所示: Tom,DataBase,80 Tom,Algorithm,50 Tom,DataStructure,60 Jim,D 阅读全文
posted @ 2021-01-15 15:29 喜欢爬的孩子 阅读(1157) 评论(0) 推荐(0)
摘要:聚合操作: groupby: // 1. 创建 SparkSession val spark = SparkSession.builder() .master("local[6]") .appName("agg processor") .getOrCreate() import spark.impl 阅读全文
posted @ 2021-01-14 19:35 喜欢爬的孩子 阅读(438) 评论(0) 推荐(0)
摘要:column对象: 分类操作解释 创建 ' 单引号 ' 在 Scala 中是一个特殊的符号, 通过 ' 会生成一个 Symbol 对象, Symbol 对象可以理解为是一个字符串的变种, 但是比字符串的效率高很多, 在 Spark 中, 对 Scala 中的 Symbol 对象做了隐式转换, 转换为 阅读全文
posted @ 2021-01-14 12:58 喜欢爬的孩子 阅读(634) 评论(0) 推荐(0)
摘要:有类型转换: map: @Test def trans(): Unit = { // 3. flatMap val ds1 = Seq("hello spark", "hello hadoop").toDS ds1.flatMap( item => item.split(" ") ).show() 阅读全文
posted @ 2021-01-13 22:15 喜欢爬的孩子 阅读(182) 评论(0) 推荐(0)
摘要:初识 DataFrameReader: SparkSQL 的一个非常重要的目标就是完善数据读取, 所以 SparkSQL 中增加了一个新的框架, 专门用于读取外部数据源, 叫做 DataFrameReader @Test def reader1(): Unit = { // 1. 创建 SparkS 阅读全文
posted @ 2021-01-13 20:44 喜欢爬的孩子 阅读(526) 评论(0) 推荐(0)
摘要:RDD 和 SparkSQL 运行时的区别 RDD 的运行流程 大致运行步骤 先将 RDD 解析为由 Stage 组成的 DAG, 后将 Stage 转为 Task 直接运行 问题 任务会按照代码所示运行, 依赖开发者的优化, 开发者的会在很大程度上影响运行效率 解决办法 创建一个组件, 帮助开发者 阅读全文
posted @ 2021-01-12 14:18 喜欢爬的孩子 阅读(315) 评论(0) 推荐(0)
摘要:一、实验目的 1.掌握 Scala 语言的基本语法、数据结构和控制结构; 2.掌握面向对象编程的基础知识,能够编写自定义类和特质; 3.掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉 Scala 的容器类库的基本 层次结构,熟练使用常用的容器类进行数据; 4.熟练掌握 Scala 的 REPL 阅读全文
posted @ 2021-01-12 11:03 喜欢爬的孩子 阅读(186) 评论(0) 推荐(0)
摘要:数据分析的方式: 命令式 在前面的 RDD 部分, 非常明显可以感觉的到是命令式的, 主要特征是通过一个算子, 可以得到一个结果, 通过结果再进行后续计算. 命令式的优点 操作粒度更细, 能够控制数据的每一个处理环节 操作更明确, 步骤更清晰, 容易维护 支持非结构化数据的操作 命令式的缺点 需要一 阅读全文
posted @ 2021-01-11 23:01 喜欢爬的孩子 阅读(114) 评论(0) 推荐(0)
摘要:逻辑图: 表达的是什么: 逻辑图就是数据处理和存储的过程表达 什么是RDD之间的依赖关系: 什么是关系(依赖关系) ? 从算子视角上来看, splitRDD 通过 map 算子得到了 tupleRDD, 所以 splitRDD 和 tupleRDD 之间的关系是 map 但是仅仅这样说, 会不够全面 阅读全文
posted @ 2021-01-11 17:07 喜欢爬的孩子 阅读(272) 评论(0) 推荐(0)
摘要:这一节基本上全是概念::: 更新的几种写法: 部署: 逻辑: 其实 RDD 并没有什么严格的逻辑执行图和物理执行图的概念, 这里也只是借用这个概念, 从而让整个 RDD 的原理可以解释, 好理解. 对于 RDD 的逻辑执行图, 起始于第一个入口 RDD 的创建, 结束于 Action 算子执行之前, 阅读全文
posted @ 2021-01-11 13:45 喜欢爬的孩子 阅读(94) 评论(0) 推荐(0)
摘要:1. Checkpoint 目标 Checkpoint 的作用 Checkpoint 的使用 、 1.1. Checkpoint 的作用 Checkpoint 的主要作用是斩断 RDD 的依赖链, 并且将数据存储在可靠的存储引擎中, 例如支持分布式存储和副本机制的 HDFS. Checkpoint 阅读全文
posted @ 2021-01-11 12:42 喜欢爬的孩子 阅读(134) 评论(0) 推荐(0)
摘要:一、RDD的分区和Shuffle 目标 RDD 的分区操作 Shuffle 的原理 分区的作用 RDD 使用分区来分布式并行处理数据, 并且要做到尽量少的在不同的 Executor 之间使用网络交换数据, 所以当使用 RDD 读取数据的时候, 会尽量的在物理上靠近数据源, 比如说在读取 Cassan 阅读全文
posted @ 2021-01-10 20:50 喜欢爬的孩子 阅读(284) 评论(0) 推荐(0)
摘要:阶段练习 一、看看数据集格式 二、明确需求 三、明确步骤 1、读取文件 2、抽取需要的列 3、以年月为基础,进行reduceByKey统计东四地区的PM 4、排序 5、获取结果 四、编码 1、拷贝数据集 2、创建类 3、编写代码 4、运行测试 @Test def reduce():Unit={ // 阅读全文
posted @ 2021-01-10 12:32 喜欢爬的孩子 阅读(105) 评论(0) 推荐(0)