一.partition的划分问题 如何划分partition对block数据的收集有很大影响.如果需要根据block来加速task的执行,partition应该满足什么条件? 参考思路1:range partition 1.出处: IBM DB2 BLU:Google PowerDrill:Shark on HDFS 2.规则: range partition遵循三个原则:1.针对每一列进行细粒度的范围细分,防止数据倾斜和工作量倾斜:2.每一个partition分配的列是不同的:3.需要针对数据…
一.本文的目的       Straggler是目前研究的热点,Spark中也存在Straggler的问题.GC问题是总所周知的导致Straggler的重要因素之一,为了了解GC导致的Straggler问题,首先需要学习GC问题以及如何监控Spark的GC.GC问题的讨论比较多了,推荐一篇系列文章用于学习:成为Java的GC专家.   二.本文所需工具       本文所需工具很简单,基本不用下载.监控GC的前提是:     1.已经在集群上安装了Spark并可以正常提交作业:     2.本地…
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法.变量. 在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理. 但是我们现在的应用程序如果只部署一台服务器,那并发量是很差的,如果同时有上万的请求那么很有可能造成服务器压力过大,而瘫痪. 想想双十一 和 三十晚上十点分支付宝红…
参考http://spark.apache.org/docs/latest/configuration.html Spark提供三个位置来配置系统: Spark属性控制大多数应用程序参数,可以使用SparkConf对象或通过Java系统属性进行设置. 可以使用环境变量通过conf/spark-env.sh每个节点上的脚本来设置每台机器的设置,例如IP地址. 日志记录可以通过配置log4j.properties. Spark属性控制大多数应用程序设置,并为每个应用程序单独配置.这些属性可以直接在一…
SVM与SVR支持向量机原理学习与思考(一) 转:http://tonysh-thu.blogspot.com/2009/07/svmsvr.html 弱弱的看了看老掉牙的支持向量机(Support Vector Machine, SVM)与支持向量回归(Support Vector Regression, SVR),发现知道的太少太弱了,基础知识要好好补一补. SVM的原理参考http://en.wikipedia.org/wiki/Support_vector_machinehttp://z…
随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片.音频.文本)进行大数据处理的业务场景越来越多.本文会介绍Spark如何与深度学习框架进行协同工作,在大数据的处理过程利用深度学习框架对非结构化数据进行处理. Spark介绍 Spark是大规模数据处理的事实标准,包括机器学习的操作,希望把大数据处理和机器学习管道整合. Spark使用函数式编程范式扩展了MapReduce模型以支持更多计算类型,可以涵盖广泛的工作流.Spark使用内存缓存来提升性能,因…
微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍 一.为什么会有 API Gateway 网关 随着微服务架构的流行,很多公司把原有的单体架构改造成了微服务架构. 第一步:拆分 微服务架构就是把一个大单体改造成一个一个小的应用.比如把一个电商网站,从单体改造成微服务架构,如下图: 改造成微服务后,用户通过 PC 和手机访问电商应用,都是调用后面的微服务 API,而且各自要调用多个后端 API 服务才能拿到需要的数据.业务量小的时候,…
微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍 上一篇关于网关的文章: 微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍,介绍了为什么会有网关及以 Nginx 为基础的网关. 一.网关 zuul zuul 网关使用 java 语言开发,是 Netflix 公司出品的开源网关.它是 SpringCloud 的组件之一.zuul 有 2 个大的版本: zuul1:zuul1 wiki…
Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言).Spark支持Java编程,但对于使用Java就没有了Spark-Shell这样方便的工具,其它与Scala编程是一样的,因为都是JVM上的语言,Scala与Java可以互操作,Java编程接口其实就是对Scala的封装. 大数据未来几年发展的重点方向,大数据战略已经在十八届五中全会上作为重点战略方向,中国在大数据方面才刚刚起步,但是在美国已经产生了上千亿…
FAT(File Allocation Table)文件系统 前两天面试,导师说我基础差,要赶紧补起来了.今天晚上看了FAT32文件系统,基本的信息都是百度百科中"FAT文件系统"词条中的,做了一点总结,整理成表,问题的原因有自己的理解,可能有偏差.看的过程中有几个问题,自己思考外加网上百度,有一点解释,但是又不太通的地方,网上的回答也不太深入,可能得找本书,才搞得清楚一些.下面进入正文: 1.基本信息 FAT文件系统中的扇区大小一般为512Byte,也就是2^-1KB,2^11M:簇…