// // // //

12 2019 档案

 
吴恩达读书笔记【1】-偏差与方差
摘要:之前我写过一篇博客 偏差与方差,解释的还算清楚, 但是读了吴恩达的书,又有些新的体会,这里稍作记录 误差的来源:偏差与方差 首先思考一个问题 问:如果数据独立同分布,尝试获取足够多的数据,就能提升模型的性能,对吗? 答:获取更多的数据是无害的,但是对于模型的提升,却不一定有很大帮助,有时候获取更多数 阅读全文
posted @ 2019-12-30 14:29 努力的孔子 阅读(440) 评论(0) 推荐(0)
spark教程-Pyspark On Yarn 的模块依赖问题
摘要:原理简述 Yarn 模式是把资源统一交给 Yarn 集群来管理,其优点在于实现了 application 的多样性,如 MapReduce 程序、HBase 集群、Storm 集群、spark 集群等; Yarn 模式有两种运行模式:client 和 cluster,区别在于 client 模式的 阅读全文
posted @ 2019-12-25 14:04 努力的孔子 阅读(7402) 评论(2) 推荐(2)
Python 创建 virtualenv 虚拟环境 及 PyCharm 创建 virtualenv 虚拟环境
摘要:虚拟环境 虚拟环境就是创建一个 隔离 的 python 环境,在这个环境里可以安装 python 所需的各种包,并使得这些包与 系统里的 python 不相干; 常用于版本管理; 手动创建 Virtualenv 环境 本文以 linux 系统为例,windows 大同小异,掌握精髓 首先,安装 vi 阅读全文
posted @ 2019-12-24 15:52 努力的孔子 阅读(958) 评论(0) 推荐(0)
spark机器学一Mllib 数据抽象
摘要:spark 提供了两个机器学习库 MLlib 和 ML,MLlib 是 spark 第一个机器学习库,相比于 ML,它更加成熟 rdd 是 spark core 的数据抽象,dataframe 是 sparkSQL 的数据抽象, 而 MLib 的数据抽象包括 Vector、LabeledPoint、 阅读全文
posted @ 2019-12-20 17:24 努力的孔子 阅读(1059) 评论(0) 推荐(0)
PostgreSQL-存储过程(一)基础篇
摘要:存储过程其实就是函数,由一组 sql 语句组成,实现比较复杂的数据库操作; 存储过程 是 存储在 数据库服务器 上的,用户可以像调用 sql 自带函数一样 调用存储过程 语法解析 CREATE [OR REPLACE] FUNCTION function_name (arguments) RETUR 阅读全文
posted @ 2019-12-20 11:15 努力的孔子 阅读(40752) 评论(0) 推荐(3)
spark调优篇-oom 优化(汇总)
摘要:spark 之所以需要调优,一是代码执行效率低,二是经常 OOM 内存溢出 内存溢出无非两点: 1. Driver 内存不够 2. Executor 内存不够 Driver 内存不够无非两点: 1. 读取数据太大 2. 数据回传 Executor 内存不够无非两点: 1. map 类操作产生大量数据 阅读全文
posted @ 2019-12-19 17:46 努力的孔子 阅读(4843) 评论(0) 推荐(1)
spark调优篇-数据倾斜(汇总)
摘要:数据倾斜 为什么会数据倾斜 spark 中的数据倾斜并不是说原始数据存在倾斜,原始数据都是一个一个的 block,大小都一样,不存在数据倾斜; 而是指 shuffle 过程中产生的数据倾斜,由于不同的 key 对应的数据量不同导致不同 task 处理的数据量不同 注意:数据倾斜与数据过量不同,数据倾 阅读全文
posted @ 2019-12-18 16:08 努力的孔子 阅读(5387) 评论(0) 推荐(3)
spark调优篇-Spark ON Yarn 内存管理(汇总)
摘要:本文旨在解析 spark on Yarn 的内存管理,使得 spark 调优思路更加清晰 内存相关参数 spark 是基于内存的计算,spark 调优大部分是针对内存的,了解 spark 内存参数有也助于我们理解 spark 内存管理 spark.driver.memory:默认 512M spar 阅读全文
posted @ 2019-12-17 10:57 努力的孔子 阅读(2286) 评论(0) 推荐(0)
spark异常篇-OutOfMemory:GC overhead limit exceeded
摘要:执行如下代码时报错 # encoding:utf-8 from pyspark import SparkConf, SparkContext from pyspark.sql import SparkSession conf = SparkConf().setMaster('yarn') sc = 阅读全文
posted @ 2019-12-16 10:54 努力的孔子 阅读(4246) 评论(0) 推荐(0)
spark异常篇-Removing executor 5 with no recent heartbeats: 120504 ms exceeds timeout 120000 ms 可能的解决方案
摘要:问题描述与分析 题目中的问题大致可以描述为: 由于某个 Executor 没有按时向 Driver 发送心跳,而被 Driver 判断该 Executor 已挂掉,此时 Driver 要把 该 Executor 上执行的任务发送给另外一个 Executor 重新执行; 默认等待时长为 spark.n 阅读全文
posted @ 2019-12-16 10:45 努力的孔子 阅读(4148) 评论(0) 推荐(0)
spark调优篇-spark on yarn web UI
摘要:spark on yarn 的执行过程在 yarn RM 上无法直接查看,即 http://192.168.10.10:8088,这对于调试程序很不方便,所以需要手动配置 配置方法 1. 配置 spark-defaults.conf cp spark-defaults.conf.template s 阅读全文
posted @ 2019-12-14 17:24 努力的孔子 阅读(4145) 评论(0) 推荐(0)
spark异常篇-集群模式无法打印
摘要:在集群上运行 spark 时候,对 RDD 进行 foreach(print) 并没有打印任何内容,这是怎么回事呢? 这是因为 RDD 运行在各个 worker 上,foreach 是对 各个 worker 上的 RDD partition 进行操作,要打印也是打印在 worker 终端,所以驱动节 阅读全文
posted @ 2019-12-13 16:06 努力的孔子 阅读(949) 评论(0) 推荐(1)
spark异常篇-关闭程序
摘要:在运行 spark 程序时,出于某种原因,我想停止运行,狂按 ctrl+c 不一定起作用 以下两种情况是不好关闭的 1. cluster 运行模式 2. SparkStreaming 程序 本文旨在收集关闭这些程序的小技巧 1. 在程序中监听某个文件,如果文件存在,即停止运行 如果我们想停止程序,在 阅读全文
posted @ 2019-12-13 16:02 努力的孔子 阅读(899) 评论(0) 推荐(0)
spark内核篇-task数与并行度
摘要:每一个 spark job 根据 shuffle 划分 stage,每个 stage 形成一个或者多个 taskSet,了解了每个 stage 需要运行多少个 task,有助于我们优化 spark 运行 task 数 首先需要了解以下概念: RDD,弹性分布式数据集,多个 partition; sp 阅读全文
posted @ 2019-12-11 15:15 努力的孔子 阅读(2058) 评论(0) 推荐(0)
hadoop-InputFormat-Split-任务并行度
摘要:首先来看 MapReduce 流程图 一个 map,一个 reduce,中间靠 shuffle 连接,shuffle 左边被划分到 map,右边被划分到 reduce InputFormat input 是个文件,进入 mapper 后变成一行一行,如何实现的呢? 在 hadoop 中实现的方法叫 阅读全文
posted @ 2019-12-11 10:11 努力的孔子 阅读(558) 评论(0) 推荐(0)
spark内核篇-任务调度机制
摘要:在生产环境中,spark 部署方式一般都是 yarn-cluster 模式,本文针对该模式进行讲解,当然大体思路也适用于其他模式 基础概念 一个 spark 应用包含 job、stage、task 三个概念 job:以 action 方法为界,一个 action 触发一个 job stage:它是 阅读全文
posted @ 2019-12-10 11:25 努力的孔子 阅读(649) 评论(0) 推荐(0)
spark算子篇-repartition and coalesce
摘要:我们知道 RDD 是分区的,但有时候我们需要重新设置分区数量,增大还是减少需要结合实际场景,还有可以通过设置 RDD 分区数来指定生成的文件的数量 重新分区有两种方法:repartition and coalesce 先看源代码 def repartition(self, numPartitions 阅读全文
posted @ 2019-12-09 15:55 努力的孔子 阅读(747) 评论(0) 推荐(0)
spark教程(19)-sparkSQL 性能优化之谓词下推
摘要:在 sql 语言中,where 表示的是过滤,这部分语句被 sql 层解析后,在数据库内部以谓词的形式出现; 在 sparkSQL 中,如果出现 where,它会现在数据库层面进行过滤,一般数据库会有索引,效率不会太低, sparkSQL 只读取过滤后的数据,大大减少数据量,提高效率,特别是提高 j 阅读全文
posted @ 2019-12-04 17:06 努力的孔子 阅读(909) 评论(0) 推荐(1)
spark教程(18)-sparkSQL 自定义函数
摘要:sparkSQL 也允许用户自定义函数,包括 UDF、UDAF,但没有 UDTF 官方 API class pyspark.sql.UDFRegistration(sparkSession)[source] register(name, f, returnType=None)[source] Reg 阅读全文
posted @ 2019-12-04 16:54 努力的孔子 阅读(1243) 评论(0) 推荐(0)
spark教程(八)-SparkSession
摘要:spark 有三大引擎,spark core、sparkSQL、sparkStreaming, spark core 的关键抽象是 SparkContext、RDD; SparkSQL 的关键抽象是 SparkSession、DataFrame; sparkStreaming 的关键抽象是 Stre 阅读全文
posted @ 2019-12-04 14:29 努力的孔子 阅读(28938) 评论(0) 推荐(1)