自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lzw2016的博客

大数据、数据分析、机器学习等学习记录项目:Coding Now (https://github.com/josonle/Coding-Now)

  • 博客(112)
  • 资源 (14)
  • 问答 (1)
  • 收藏
  • 关注

原创 MapReduce、Hive、Spark中数据倾斜问题解决归纳总结

数据倾斜是什么总的来说,你集群运行时发现MR或者Hive卡在99%不动时,或者Spark运行时出现OOM异常(OutOfMemoryError),或者成功执行但就是耗时过久时,既要考虑是否出现了数据倾斜。数据倾斜就是某些key对应的数据分化不均,导致部分reduce处理数据量过大,以至于其他reduce都执行完了它还在运行。查看web UI、日志文件:看是否出现map和reduce任务执行...

2019-04-13 16:05:14 1441

原创 大数据之Hadoop学习——动手实战学习MapReduce编程实例

文章目录一、MapReduce编程实例1.自定义对象序列化需求分析报错:Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.17.10:9000/workspace/flowStatistics/output, expected: file:///解答一、正常处理即可,不过在...

2018-12-09 15:30:21 7504 5

原创 【MapReduce详解及源码解析(一)】——分片输入、Mapper及Map端Shuffle过程

title: 【MapReduce详解及源码解析(一)】——分片输入、Mapper及Map端Shuffle过程date: 2018-12-03 21:12:42tags: Hadoopcategories: 大数据toc: true点击查看我的博客:Josonlee’s Blog版权声明:本文为博主原创文章,未经博主允许不得转载(https://blog.csdn.net/lzw20...

2018-12-03 21:20:21 2059

原创 Python数据分析学习文章归纳

本文搜集我学习实战过程中看到的好文,和自己学习总结的一些文章,持续更新数据分析如何入门学习How do I learn data analysis with Python?虽然是英文的,不过看一遍很大收获(可以用百度翻译看一下)Numpy使用快速入门NumpyStack Overflow Numpy问题汇集书籍推荐NumPy Cookbook -第二版 by Ivan I...

2018-05-27 20:36:02 1883

原创 重装Deepin 15.11 unstable版本更新到stable版本如何保留home分区数据

又折腾了下deepin官方deepin unstable版本现已正式停止技术支持,请unstable 用户尽快前往下载页面安装stable版本。之前我也嫌麻烦,觉得重新配置环境啥的好麻烦。在B站上看到了Deepin V20的宣传片感觉不错,最近闲的没事又想重装尝尝鲜,刚好我之前有高级分区的习惯,用户数据、软件专门放在/home分区下,这样省得重新折腾各种环境、各种应用了判断是否为unstabl...

2019-11-19 22:25:31 1865

原创 Structured Streaming中如何通过schema_of_json方法动态解析Kafka传入的JSON数据的Schema

Structured Streaming中如何解析Kafka传入的JSON数据的Schema在实际生产中消息中的字段可能会发生变化,比如多加一个字段什么的,但是Spark程序又不能停下来,所以考虑在程序中不是自定义好Schema,而是通过Kafka输入消息中json串来infer Schema。当然,也可以通过广播变量来更新配置文件,定期更新Schema,这也是一种写法在之前Spark Str...

2019-08-09 14:39:35 2860

原创 Spark中如何向已存在Schema新增StructFields

向已有的Schema新增StructFields就是StructType的add方法,实际业务中需要动态向DataFrame中新增列时,可以获取最新的配置然后动态更新Schema/** * Creates a new [[StructType]] by adding a new field with no metadata. * * val struct = (new StructTyp...

2019-08-08 17:07:24 2352 2

原创 Spark2.4.0和Scala2.11集成Kudu1.8.0遇到的坑

最近做实时数仓用到了spark和kudu两个组件,因为资料少得可怜,折腾了一番终于是搞定了,在这里记录下期间遇到的坑依赖选择参考kudu官网:https://kudu.apache.org/docs/developing.html#_kudu_integration_with_spark官网上提及了几点关键信息Use the kudu-spark_2.10 artifact if us...

2019-08-08 16:24:43 1552

原创 Hive 插入动态分区表时遇到的一些坑

Hive 插入动态分区的问题insert into table xxx partition(xxxx)select ...使用动态分区时首先不要忘记的一些配置:是否开启动态分区 hive.exec.dynamic.partition动态分区是否使用严格模式 hive.exec.dynamic.partition.modeMR总共可创建最大分区数 hive.exec.max.dyna...

2019-07-30 21:22:00 16555 1

原创 Hive中Create table... as 和 Create table ... like 的区别和使用注意

CTAS建表语句(CREATE TABLE AS SELECT)使用查询创建并填充表,select中选取的列名会作为新表的列名(所以通常是要取别名)会改变表的属性、结构,比如只能是内部表、分区分桶也没了目标表不允许使用分区分桶的,FAILED: SemanticException [Error 10068]: CREATE-TABLE-AS-SELECT does not supp...

2019-07-30 19:24:36 26181

原创 祭不再维护的deepin 15.11 unstable

如图,昨天Deepin社区推送了最新版本15.11的更新,并宣布deepin unstable版本停止维护。而unstable版本过渡到stable版本只有格盘重装一条路,本想着重装系统,但无赖环境、配置等等实在是太多了,重装又要重新配置一遍,没那个心力便放弃了deepin系列文章也不会再更新了,建议大家有问题上官网上社区咨询,多些利用搜索引擎,少些抱怨。真心而论,deepin用了一年有余,从...

2019-07-20 17:17:35 3264 2

原创 《Spark: The Definitive Guide 》Spark权威指南学习计划

Spark-The-Definitive-Guide-Learning《Spark: The Definitive Guide Big Data Processing Made Simple》学习记录文章目录Spark-The-Definitive-Guide-Learning前言目录其他前言本书出自OReilly的《Spark: The Definitive Guide Big Data...

2019-07-04 21:22:43 5455 5

原创 《Spark: The Definitive Guide 》Chapter 7:聚合操作

文章目录Chapter 7:聚合操作Group分组和聚合函数聚合函数count 和 countDistinctapprox_count_distinctfirst 和 lastmin 和 maxsum 和 sumDistinctavg 和 mean方差和标准差偏度和峰度协方差和相关性复杂数据类型的聚合在表达式中使用分组(Grouping with Expressions)通过Maps映射使用分组(...

2019-07-04 21:20:29 338 1

原创 《密码编码学与网络安全》复习总结

软院田园老师的课,虽然上课没听(我觉得他讲得不好),自己看书也差不多看懂了七七八八,以下是看书过程中列出的部分重点数论欧几里得算法三形式,思路欧拉定理、费马定理证明中国剩余定理 计算 可能和低幂次RSA攻击结合二次剩余 和概率性素数判断代数见下文公钥密码学RSA算法,计算、加密解密过程数字签名ElGamal 和 Schnorr 签名方案签名方案和加密方案结合的应用...

2019-06-26 16:18:48 2257

原创 《Spark The Definitive Guide》Chapter 6:处理不同类型的数据

文章目录Chapter 6:处理不同类型的数据从哪里找到适合的方法处理布尔类型数据处理数值型数据处理字符串型数据处理日期和时间型数据处理 null 数据处理复杂的数据类型处理 Structs 的方法处理 Arrays 的方法处理 Maps 的方法处理 JSON 的方法自定义函数(UDF)使用Chapter 6:处理不同类型的数据这一章如题所示讲的就是如何使用DataFrame相关方法处理不同类...

2019-06-07 10:14:37 349

原创 《Spark The Definitive Guide》Chapter 5:基本结构化API操作

Chapter 5:基本结构化API操作前言见《Spark 权威指南》学习计划Schemas (模式)我这里使用的是书附带的数据源中的 2015-summary.csv 数据scala> val df = spark.read.format("csv").option("header","true").option("inferSchema","true").load("data/...

2019-05-24 21:10:15 433

原创 Java GC机制和内存泄漏分析

Java 内存泄漏190523,RSS给我推送了新的内容,扫了几眼对其中几篇文章挺感兴趣的,其中一篇出自掘金——纳尼,Java 存在内存泄泄泄泄泄泄漏吗?,至此记录阅读心得吧。其次,还涉及以下几篇文章:IBM-Java的内存泄漏GC机制和内存泄漏什么是内存泄漏之所以感兴趣是以前没有具体的看过jvm内存泄漏(Memory Leak)的问题,不同于内存溢出(OOM),OOM是指程序申请...

2019-05-23 13:18:58 537

原创 finally语句如何执行

finally语句如何执行一般是在try…catch…finally中配对使用finally,多用来释放资源。虽然这个点很简单,但还是有些地方需要注意的。无论try是否发生异常,finally语句都会执行如果try/catch中包含控制转移语句(return、continue、break),finally都会在这些控制语句前执行但是像try/catch中有System.exit(0)退出...

2019-05-15 11:05:41 1236

原创 解决github clone大项目速度慢问题

用git内置代理,走1080端口编辑用户目录下的.gitconfig文件# 添加[http] proxy = socks5://127.0.0.1:1080[https] proxy = socks5://127.0.0.1:1080绑定github几个域名和对应IP地址的映射编辑/etc/hosts,增加以下几个域名对应的IP地址IP地址可在此查询,...

2019-05-10 14:41:10 1203

原创 Git团队协作项目操作说明

本项目面向秋招准备刷题分享群的各个小伙伴们,一来是提出一种自我监督的方式,而来是为了大家在工作前提前熟悉git操作。原项目:https://github.com/josonle/Leetcode-solution-for-us文章中我新建了一个账号another-Lee,并fork了该项目,然后进行了一系列操作,来同步原项目内和提交自己的题解。初步规划了Leetcode刷题计划,面经分享,技术文章分享系列,后期大家可以商量着提议。

2019-05-03 21:20:00 1055 2

原创 MySQL索引背后的数据结构及算法原理

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和I

2019-04-20 17:55:51 604

原创 MySQL事务日志undo log和redo log分析

文章目录前言先聊聊undo log再聊聊redo log如何利用undo log和redo log异常恢复?参考文章前言这两事务日志用来保证事务原子性、持久性的,undo log(回滚日志)提供回滚操作,保证原子性,redo log(重做日志)提供前滚操作,保证持久性。先聊聊undo log什么时候会用到undo log回滚?用户调用ROLLBACK主动回滚事务出错辅助redo l...

2019-04-20 17:16:37 6482 4

原创 MySQL数据库学习总结性思维导图

最近找实习找工作,好好地回顾了一下数据库MySQL相关知识,整理出了一张脑图。大体设计类容如下存储引擎InnoDB和MyISAM介绍、区别等索引分类、底层、使用、优化等数据库锁(行锁、页锁、表锁)事务ACID如何实现等等,脑图大致结构如下,—>脑图在此书籍《深入浅出MySQL》博文 【相关PDF收录于此】数据库两大神器【索引和锁】.pdf20个数...

2019-04-20 14:47:50 821

转载 Java7/8中的 HashMap 和 ConcurrentHashMap 全解析

文章目录Java7 HashMapput 过程分析数组初始化计算具体数组位置添加节点到链表中数组扩容get 过程分析Java7 ConcurrentHashMap初始化put 过程分析初始化槽: ensureSegment获取写入锁: scanAndLockForPut扩容: rehashget 过程分析并发问题分析Java8 HashMapput 过程分析数组扩容get 过程分析Java8 Co...

2019-03-18 09:23:25 215

原创 一张图快速回顾总结Hive方方面面

放在百度脑图上了,http://naotu.baidu.com/file/cdcd76d878f210e43a91b24d4254abed?token=c3839e44e93c9a5e

2019-03-12 11:26:30 172

原创 eclipse如何导入Spark源码方便阅读

最近想看下spark sql的源码,就查了些相关文章。很多都是IDEA怎么导入的,还有就是谈到了自己编译spark源码再倒入,但我还没有强到修改源码的地步,所以跳过编译直接导入阅读源码,过程如下下载spark源码从 https://github.com/apache/spark 下载你需要的spark版本,如图当然,也方便eclipse中 Ctrl+点击 来跳转到源码查看。具体是Atta...

2019-03-09 21:00:35 1302

原创 Spark使用JDBC将DataFrame数据写入mysql

spark foreachPartition 把df 数据插入到mysql转载自:http://www.waitingfy.com/archives/4370,确实写的不错import java.sql.{Connection, DriverManager, PreparedStatement} import org.apache.spark.sql.SparkSessionimpo...

2019-03-09 20:57:03 3744 1

原创 Spark2.4+Hive使用现有Hive仓库中的数据

使用前准备hive-site.xml复制到$SPARK_HOME/conf目录下hive连接mysql的jar包(mysql-connector-java-8.0.13.jar)也要复制到$SPARK_HOME/jars目录下或者在spark-submit脚本中通过–jars指明该jar包位置或者在spark-env.xml中把该jar包位置加入Class Path export SP...

2019-03-06 10:03:24 2686

原创 Spark DataFrame如何更改列column的类型

如下示例,通过最初json文件所生成的df的age列是Long类型,给它改成其他类型。当然不止如下两种方法,但我觉得这是最为简单的两种了val spark = SparkSession.builder().master("local").appName("DataFrame API").getOrCreate()// 读取spark项目中example中带的几个示例数据,创建DataF...

2019-03-06 10:01:43 15379

原创 LearningSpark(9):解析SparkSQL的数据来源(parquet、json、csv、jdbc等)

以下源码在 org.apache.spark.sql.DataFrameReader/DataFrameWriter中format指定内置数据源无论是load还是save都可以手动指定用来操作的数据源类型,format方法,通过eclipse查看相关源码,spark内置支持的数据源包括parquet(默认)、json、csv、text(文本文件)、 jdbc、orc,如图def for...

2019-03-06 10:01:01 433

原创 LearningSpark(8):RDD如何转化为DataFrame

为啥要转换?DataFrame可以借助sql语句处理,简单快捷。向hdfs的数据只能创建RDD,转化为DataFrame后就可以使用SQL进行查询方法方法一:基于反射推断适合已知RDD的 Schema ,这个基于方法的反射可以让你的代码更简洁。其通过Case class 定义了表的 Schema。Case class 的参数名使用反射读取并且成为了列名。Case class 也可以是嵌套的...

2019-03-06 09:58:42 1115

原创 LearningSpark(7):SparkSQL创建及DataFrame学习

DataFrame说白了就是RDD+Schema(元数据信息),spark1.3之前还叫SchemaRDD,以列的形式组织的分布式的数据集合Spark-SQL 可以以 RDD 对象、Parquet 文件、JSON 文件、Hive 表,以及通过JDBC连接到其他关系型数据库表作为数据源来生成DataFrame对象如何创建Spark SQL的入口同Spark Core要先创建SparkCont...

2019-03-06 09:58:08 207

原创 LearningSpark(5):Spark共享变量理解

共享变量Spark又一重要特性————共享变量worker节点中每个Executor会有多个task任务,而算子调用函数要使用外部变量时,默认会每个task拷贝一份变量。这就导致如果该变量很大时网络传输、占用的内存空间也会很大,所以就有了 共享变量。每个节点拷贝一份该变量,节点上task共享这份变量spark提过两种共享变量:Broadcast Variable(广播变量),Accumula...

2019-03-06 09:56:39 185

原创 LearningSpark(4):Spark持久化操作

持久化Spark的一个重要特性,对RDD持久化操作时每个节点将RDD中的分区持久化到内存(或磁盘)上,之后的对该RDD反复操作过程中不需要重新计算该RDD,而是直接从内存中调用已缓存的分区即可。当然,持久化适用于将要多次计算反复调用的RDD。不然的话会出现RDD重复计算,浪费资源降低性能的情况巧妙使用RDD持久化,甚至在某些场景下,可以将spark应用程序的性能提升10倍。对于迭代式算法和...

2019-03-06 09:55:53 448

原创 LearningSpark(3):常用RDD操作

键值对RDD上的操作 隐式转换shuffle操作中常用针对某个key对一组数据进行操作,比如说groupByKey、reduceByKey这类PairRDDFunctions中需要启用Spark的隐式转换,scala就会自动地包装成元组 RDD。导入 org.apache.spark.SparkContext._即可没啥意思,就是记着导入import org.apache.spark.Spar...

2019-03-06 09:55:07 268

原创 LearningSpark(2):spark-submit脚本和可选参数

提交应用的脚本和可选参数可以选择local模式下运行来测试程序,但要是在集群上运行还需要通过spark-submit脚本来完成。官方文档上的示例是这样写的(其中表明哪些是必要参数):./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <dep...

2019-03-06 09:54:10 597

原创 LearningSpark(1):数据来源

数据源自并行集合调用 SparkContext 的 parallelize 方法,在一个已经存在的 Scala 集合上创建一个 Seq 对象外部数据源Spark支持任何 Hadoop InputFormat 格式的输入,如本地文件、HDFS上的文件、Hive表、HBase上的数据、Amazon S3、Hypertable等,以上都可以用来创建RDD。常用函数是 sc.textFile() ...

2019-03-06 09:52:28 243

原创 java抽象类中可定义构造器和static静态方法吗?

首先,抽象类可以有构造器、静态方法,抽象类不一定要被其他类继承,可直接不实例化就使用抽象类可以有构造器、静态方法。构造器能被子类继承并完成初始化,但不会创建抽象类的实例对象。静态方法的好处是不实例化就可由子类类名直接调用抽象类直接使用省去了实例化过程抽象类中的静态方法是存在内存中的,用的时候直接去内存中去取如果想拿抽象类直接使用,类中就得定义静态方法abstract class ...

2019-03-05 11:39:13 4195

原创 关于Linux学习、Python数据分析、机器学习、Java大数据相关资源归纳的GitHub项目推荐

马上开学,准备今年考研,所以之后很长一段时间可能不会在csdn上记录文章了(下次写可能就是明年春了)。不过还是分享我整理了挺久的一个项目吧:Coding Now主要是记录我学习Linux、Python爬虫、数据分析、机器学习、Java大数据开发过程中遇到的一些挺不错的资源(含个人笔记、书籍、视频资源、GitHub上相关项目等等),如下图所示如果你有更好的资源,欢迎前来pull request,...

2019-02-19 16:47:07 516

原创 LearningSpark(6):基于Standalone和Yarn下Spark的内核架构剖析

文章目录Standalone模式下内核架构分析Application 和 spark-submitDriverSparkContext作用TaskScheduler功能MasterWorker和Executor聊聊TaskDAGScheduler功能Spark on Yarn模式下的不同之处yarn-cluster运行模式yarn-client运行模式Standalone模式下内核架构分析Ap...

2019-02-14 14:11:55 190

集群配置.zip

hadoop、yarn、hive、spark等conf目录下的配置文件。。。

2019-07-14

Linux版XMind8 Pro思维导图安装教程

涉及Linux平台下如何自定义安装使用最新的xmind,可参考我这篇文章:https://blog.csdn.net/lzw2016/article/details/88622874 。文件内含百度云链接

2019-03-19

最新XMind8破解资源及序列号分享

xmind序列号,以及如何破解使用最新的xmind,可参考我这篇文章:https://blog.csdn.net/lzw2016/article/details/88622874

2019-03-17

hive安装所需配置文件

我博客《基于Hadoop集群的Hive安装配置》:https://blog.csdn.net/lzw2016/article/details/86631115 中所提及的配置文件

2019-01-24

hadoop完全分布式所需的九个配置文件

见文章:Deepin Linux下快速Hadoop完全分布式集群搭建https://blog.csdn.net/lzw2016/article/details/86618345 ,文章中所提及的配置文件

2019-01-23

VS2015编译程序时报错缺失的msvcp140d.dll和ucrtbased.dll

VS2015编译程序时报错缺失msvcp140d.dll和ucrtbased.dll解决方法,使用方法参考我的文章 https://blog.csdn.net/lzw2016/article/details/85218311

2018-12-22

Hadoop伪分布式搭建配置文件

如何搭建hadoop伪分布式,https://blog.csdn.net/lzw2016/article/details/84197986 该资源是文中所提的配置文件,建议看完文章后,下载使用。

2018-11-18

北大算法教程

北大课程资源,好不好试试就知道,本来只想分享的,但无奈csdn必须要c币

2017-12-11

Python数据结构

Python的数据结构与算法,某社区大佬们所写,无奈csdn要c币才能下载,本来只想分享的

2017-12-11

Python系统学习规划及相应知识整理

包含Python及相关工具(如sphinx、包安装工具 setuptool等)的介绍,学习路线和方法,科学计算 Numpy,图像处理 PIL - Python Image Library,计算机视觉 OpenCv,Python 音频处理,pygame游戏等资源整理

2017-08-19

【Python应用核心编程 第3版】( Core Python Applications Programming Wesley Chun)

非《Python核心编程》,是其配套用书,英文版国内无译本。全书分为两个部分:阐释这门语言的“核心”内容,包括基本的概念和语句、语法和风格、Python对象、数字类型、序列类型、映射和集合类型、条件和循环、文件和输入/输出、错误和异常、函数和函数式编程、模块、面向对象编程、执行环境等内容:第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。 本书适合Python已经入门但想继续学习和提高自身Python技巧的程序员

2017-08-19

c++较全面的头文件,经典代码汇集

2017-04-30

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

TA关注的人

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