自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 第80课:Spark SQL网站搜索综合案例实战

内容:    1.案例分析    2.案例实战一、案例分析    项目:以京东找出搜索平台排名的产品,The hottest    元数据:date,userID,item,city,device    总体思路:混合使用Spark SQL和Spark Core的内容        第一步:原始的ETL,过滤数据后产生目标数据,实际企业中可能过滤条件非常复杂(进行广播),使用...

2018-11-25 20:56:54 909

原创 第79课:Spark SQL基于网站Log的综合案例综合代码和实际运行测试

内容:    1.热门论坛板块排名    2.综合代码实战和测试一、热门论坛板块排版创建表:    spark.sql("createtable userlogs(date string, timestamp bigint, userID bigint, pageID bigint, channel string, action string) ROW FORMAT DELIMI...

2018-11-18 21:56:40 180

转载 ”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker

转载地址:Docker启动Get Permission Denied以下问题及解决方法都在Ubuntu16.04下,其他环境类似问题描述安装完docker后,执行docker相关命令,出现”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/doc...

2018-11-14 14:13:13 6318

原创 第76课:Spark SQL实战用户日志的输入导入Hive及SQL计算PV实战

内容:    1.Hive数据导入操作    2.SparkSQL对数据操作实战一、Hive数据导入操作create table userLogs(date String,timestamp bigint,userID bigint,pageID bigint,channel String,action String);load data local inpath '/home/h...

2018-11-12 23:21:09 252

原创 第75课:Spark SQL基于网站Log的综合案例实战

内容:    1.案例概述    2.数据来源和分析一、案例概述    PV:页面访问数    UV:独立访问数二、数据来源和分析package SparkSQL;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.OutputStreamWrit...

2018-11-11 22:02:51 634

原创 第74课:Hive on Spark大揭秘 完整版

内容:    1.Hive On Spark内幕    2.Hive on Spark实战一、Hive On Spark内幕    1.Hive on spark 是hive 的一个子项目,它是指不通过mapReduce 作为唯一的查询引擎,而是将spark 作为底层的查询引擎。hive on spark 只适用于hive 在可预见的未来,很有可能Hive默认的底层引擎就从MapR...

2018-11-11 19:53:09 650

原创 第73课:Spark SQL Thrift Server实战

内容:    1.SparkSQL Thrift解析与测试    2.SparkSQL Thrift Server JDBC编程一、SparkSQL Thrift解析与测试    ThriftServer是一个JDBC/ODBC接口,用户可以通过JDBC/ODBC连接ThriftServer来访问SparkSQL的数据。ThriftServer在启动的时候,会启动了一个sparkSQ...

2018-11-11 11:11:46 601

原创 第72课:Spark SQL UDF和UDAF解密与实战

内容:    1.SparkSQL UDF    2.SparkSQL UDAF一、SparkSQL UDF和SparkSQL UDAF    1.解决SparkSQL内置函数不足问题,自定义内置函数,    2.UDF:User Define Function,用户自定义的函数,函数的输入是一个具体的数据记录,实现上讲就是简单的scala代码    3.UDAF:User De...

2018-11-10 13:55:16 449

原创 第71课:Spark SQL窗口函数解密与实战

内容:    1.SparkSQL窗口函数解析    2.SparkSQL窗口函数实战一、SparkSQL窗口函数解析    1.spark支持两种方式使用窗口函数:        在SQL语句中的支持的函数中添加OVER语句。例如avg(revenue) OVER (…)        使用DataFrame API在支持的函数调用over()方法。例如rank().over(...

2018-11-10 09:55:02 929

原创 第70课:Spark SQL内置函数解密与实战

内容:    1.SparkSQL内置函数解析    2.SparkSQL内置函数实战一、SparkSQL内置函数解析    使用Spark SQL中的内置函数对数据进行分析,Spark SQL API不同的是,DataFrame中的内置函数操作的结果是返回一个Column对象,而DataFrame天生就是"A distributed collection of data organ...

2018-11-09 22:16:36 345

原创 第69课:Spark SQL通过Hive数据源实战

内容:    1.Spark SQL操作Hive解析    2.SparkSQL操作Hive实战一、Spark SQL操作Hive解析    1.在目前企业级大数据Spark开发的时候,绝大多数是采用Hive作为数据仓库的spark提供Hive的支持功能,Spark通过HiveContex可以操作Hive中的数据,基于HiveContext可以使用sql/hsql两种方式编写SQL语...

2018-11-09 16:47:55 845

原创 第68课:Spark SQL通过JDBC操作MySQL

内容:    1.SparkSQL操作关系数据库意义    2.SparkSQL操作关系数据库一、通过SparkSQL操作关系数据库意义    1.SparkSQL可以通过jdbc从传统关系型数据库中读写数据,读取数据后直接生成DataFrame,然后在加上借助于Spark内核的丰富的API来进行各种操作;    2.关于JDBC的驱动jar可以使用在Spark的jars目录中,也...

2018-11-09 10:45:55 5841 1

原创 第67课:Spark SQL下采用Java和Scala实现Join的案例综合实战(巩固前面学习的Spark SQL知识)

内容:    1.SparkSQL案例分析    2.SparkSQL下采用Java和Scala实现案例一、SparkSQL下采用Java和Scala实现案例学生成绩:{"name":"Michael","score":98}{"name":"Andy", "score":95}{"name":"Justin", &quot

2018-11-08 21:59:31 1079

原创 第66课:Spark SQL下Parquet中PushDown的实现

内容:    1.SparkSQL下的PushDown的价值    2.SparkSQL下的Parquet下的pushDown的实现一、SparkSQL下的PushDown的价值    1.假设通过DataFrame,df.select(a,b,c).filter(by a).filter(by b).select(c).filter(by c)这样的查询,在optimizer阶段,...

2018-11-07 22:52:32 353

原创 第65课:Spark SQL下Parquet深入进阶

内容:    Spark SQl下的Parquet的序列化    SparkSQL下的Parquet源码解析    SparkSQL的Parquet总结一、Spark SQl下的Parquet的序列化    1.block:parquet层面和row group是一个意思    2.row group:逻辑概念,用于对row进行分区。由数据集中每个column的column ch...

2018-11-07 20:45:59 504

原创 第64课:Spark SQL下Parquet的数据切分和压缩内幕详解

内容:    1.SparkSQL下的Parquet数据切分    2.SparkSQL下的Parquet数据压缩一、SparkSQL下的Parquet数据切分    Table partitioning (表分区)是在像 Hive 这样的系统中使用的常见的优化方法. 在 partitioned table (分区表)中, 数据通常存储在不同的目录中, partitioning co...

2018-11-06 19:23:59 1987

原创 在spark-shell中解决error: not found: value StructType/StructField/StringType问题

问题描述:在Spark-shell中运行官方文档提供的例子时,出现error: not found: value StructType/StructField/StringType的错误解决方法:stackoverflow上 给出的解决方法是导入相应的类型 import org.apache.spark.sql.types._导入后问题就解决了...

2018-11-06 16:53:04 3062

原创 解决spark-shell中java.lang.UnsatisfiedLinkError: org.xerial.snappy.SnappyNative.maxCompressedLength(I)I

在运行Schema Merging示例代码的时候遇到问题以及解决:1.示例代码:// This is used to implicitly convert an RDD to a DataFrame.import spark.implicits._// Create a simple DataFrame, store into a partition directoryval s...

2018-11-06 11:44:04 1983

原创 第63课:Spark SQL下Parquet内幕深度解密

内容:    1.SparkSQL下的Parquet意义再思考    2.SparkSQL下的Parquet内幕解密一、SparkSQL下的Parquet意义再思考    1.如果说HDFS是大数据时代分布式文件系统存储的事实标准的话,Parquet是大数据时代的文件存储格式的事实标准;    2.速度更快:从使用SparkSQL操作普通文件CSV和Parquet文件的速度对比来看...

2018-11-05 16:46:05 282

原创 林第3课:在IDE下开发第一个Scala程序纯傻瓜式彻底透彻解析

内容:    1.控制结构    2.Scala的基础语法/**  * FileName: HelloScala  * Author:   hadoop  * Email:    3165845957@qq.com  * Date:     18-11-5 上午9:32  * Description:  */object HelloScala {   def main...

2018-11-05 13:09:43 237

原创 第28课:MAT中的内存泄露检测介绍

内存:    1.内存泄露的巨大风险    2.MAT中的内存泄露一、内存泄露的巨大风险    Memory Leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。二、MAT中的内存泄露选择:Leak Suspects ...

2018-11-04 21:11:19 481

原创 第27课:MAT中的GC Root解析和具体类别分析

内容:    GC Root解析    GC Root具体类别分析一、GC Root解析  1.MAT查看GC RootJava Basics->GC Root二、GC Root具体类别分析Gc root:一个gc根就是一个对象,这个对象从堆外可以访问读取。以下一些方法可以使一个对象成为gc根。    1.System class:被bootstrap或者...

2018-11-04 20:57:26 3285 1

原创 第26课:MAT中的Dominator Tree与Retained Set详解

内容:    1.Dominator Tree与Retained Set        2.Dominator Tree详解一、Dominator Tree与Retained Set        Retained set:是这个对象本身和他持有引用的对象和这些对象的retained set所占内存大小的总和;    Dominator Tree(支配树)视图,在此视图中列出了...

2018-11-04 20:39:25 1536

原创 第25课:基于MAT分析Shallow Heap和Retained Heap

内容:Shallow Heap和Retained Heap一、Shallow Heap和Retained Heap    Shallow Heap:只包含自己堆内的元素对象,不包含引用的对象;    Shallow Size:对象自身占用的内存大小,不包括它引用的对象。针对非数组类型的对象,它的大小就是对象与它所有的成员变量大小的总和。当然这里面还会包括一些java语言特性的数据存储...

2018-11-04 19:18:58 456

原创 第24课:使用MAT动态分析Spark应用程序初体验

内容:    1.如何使用MAT直接分析运行的Spark程序    2.用MAT直接分析运行的Spark运行初步体验一、如何使用MAT直接分析运行的Spark程序    1.启动MAT    2.启动需要检测分析的程序import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRD...

2018-11-04 16:39:16 238

原创 第23课:使用MAT对Dump文件进行分析实战

内容:    1.导出内存中的Dump文件    2.使用MAT对Dump文件进行分析实战一、导出内存中的Dump文件    1.下载Memory Analyzer (MAT)    2.解压到合适的目录下,我自己是放到了/home/hadoop/下3.在Eclipse IDE下编写一个程序package DT.JavaJVM;/** * Hello worl...

2018-11-04 14:53:15 529

原创 第22课:通过案例瞬间理解JVM中PSYoungGen、ParOldGen、MetaSpace

内容:    理解JVM中PSYoungGen、ParOldGen、MetaSpace一、理解JVM中PSYoungGen、ParOldGen、MetaSpaceHeap PSYoungGen      total 2560K, used 2505K [0x00000000ffd00000, 0x0000000100000000, 0x0000000100000000)  ede...

2018-11-04 09:46:06 7643

原创 第21课:JVM中G1收集器解密

内容:    1.G1收集器的解析    2.G1收集器的使用一、G1收集器的解析    G1和其他收集器截然不同,从分代上看,它仍然属于分代垃圾收集器,也会区分新生代、老年代,仍然有Eden区和Survivor区;从堆结构上看,它并不要求新生代、老年代都连续。作为CMS的长期替代方案,G1使用了分区算法,其特点如下:        a)并行性:在回收期间,可以由多个GC线程同时工...

2018-11-03 22:17:07 153

原创 第20课:JVM中CMS收集器解密

内容:    1.CMS收集器的解析    2.CMS收集器的使用一、CMS收集器的解析    1.CMS(Concurrent Mark Sweep) 并发收集,低停顿,适合响应时间敏感的应用使用。     2.CMS垃圾收集阶段:        CMS-Initial mark(初始标记):标记GC Roots能够关联到的对象。stop-the-world,暂停从root对...

2018-11-03 20:33:42 166

原创 第19课:JVM中Serial收集器、ParNew收集器、Parallel收集器解析

内容:    1.Serial收集器    2.ParNew收集器    3.Parallel收集器一、三种收集器解析    Serial收集器:单线程的方式,串行的方式,一般在新生代来收集垃圾。Serial Old收集器采用标记/压缩的算法一般用来收集老年代。没有多线程在线程切换带来的性能消耗。    ParNew收集器:多线程的,采用复制算法和Stop the World的方...

2018-11-03 19:24:16 785

原创 第18课:JVM垃圾回收器串行、并行、并发垃圾回收器概述

内容:1.JVM中不同的垃圾回收器2.穿行、并行、并发垃圾回收器概述一、JVM中不同的垃圾回收器    1.按照分代收集的方式,把垃圾回收器做如下的划分:        a)新生代收集器:Serial 、ParNew、Parallel Scavenge        b)老年代收集器:CMS、Serial Old、Paralled Old        c)新生代和老年代都可以...

2018-11-03 11:13:23 1269

原创 第17课:JVM垃圾回收分代收集算法

内容:    1.分代GC在新生代的算法    2.分代GC在年老代的算法一、分代GC在新生代的算法    JVM对内存Heap的不同区域采用不同的算法。主要是新生代和年老代,新生代比较适合复制算法,新生代有Eden/From/To,采用复制算法,速度非常快。Eden中存活的对象会被复制到To区域。二、分代GC在年老代的算法    老年代的对象的生命周期比较长,不适合复制算法...

2018-11-03 09:50:43 336

转载 第16课:瞬间理解三种基本的GC算法基石

内容:    1.GC的标记、清除算法    2.GC的复制算法    3.GC的标记、整理算法一、GC的标记、清除算法    内存中的对象构成一棵树,当有效的内存被耗尽的时候,程序就会停止,此时做两件事:        a)标记,标记从树根可达的对象(途中水红色)        b)清除(清除不可达的对象)    标记清除的时候需要停止程序运行,如果不停止,此时如果存在...

2018-11-02 22:57:59 744

原创 第15课:GC时候的引用计数算法和根搜索算法

内容:    1.GC时候的引用计数    2.GC的时候根搜索算法一、GC时候的引用计数    对象一旦被使用,计数器会进行+1操作,当对象取消引用计数器-1操作,当为0时被标示为垃圾。此种标示方法的弊端在于已经死亡的对象如果存在相互引用,则会一直占用内存空间,不被回收。此时会导致内存泄漏。为了解决这个问题出现了根搜索算法。二、GC的时候根搜索算法    1.Java采用该...

2018-11-02 22:27:28 482

原创 第14课:java对象内存逃逸技术

内容:    1.内存逃逸技术分析    2.内存逃逸技术实战一、内存逃逸技术分析    1.逃逸是指在某个方法之内创建的对象,除了在方法体之内被引用之外,还在方法体之外被其它变量引用到;这样带来的后果是在该方法执行完毕之后,该方法中创建的对象将无法被GC回收,由于其被其它变量引用。正常的方法调用中,方法体中创建的对象将在执行完毕之后,将回收其中创建的对象;故由于无法回收,即成为逃逸...

2018-11-02 21:20:33 320

原创 第13课:java 8中的jvm的metaspace解密

内容:1.从Permanent到MetaSpace2.MetaSpace内部解密一、从Permanent到MetaSpace    1.由于Permanent Generation内存经常不够用或发生内存泄露,引发恼人的java.lang.OutOfMemoryError: PermGen (在Java Web开发中非常常见)。    2.移除Permanent Generatio...

2018-11-02 13:13:30 281

原创 第12课:jvm的gc日志full Gc每个字段彻底详解

内容:    1.演示Full GC    2.彻底解析FullGC的每一个字段一、演示Full GC[Full GC (Ergonomics) [PSYoungGen: 944K->890K(2048K)] [ParOldGen: 7129K->7129K(7168K)] 8074K->8019K(9216K), [Metaspace: 3357K->33...

2018-11-02 11:18:16 6768 2

原创 第11课:jvm的gc日志young Generation下minor GC每个字段彻底详解

内容:    1.演示Minor GC    2.彻底分析Minor GC的每一个字段一、演示Minor GC[GC (Allocation Failure) [PSYoungGen: 2048K->496K(2560K)] 2048K->613K(9728K), 0.0490609 secs] [Times: user=0.00 sys=0.00, real=0.0...

2018-11-02 10:53:46 304

原创 第62课:Spark SQL下的Parquet使用最佳实践和代码实战

内容    1.SparkSQL下的Parquet使用最佳实践    2.SparkSQL下的Parquet实战一、SparkSQL下的Parquet使用最佳实践    1.过去整个业界对大数据的分析的技术栈的pipeline一般分为两种方式:        a)Data Source->HDFS->MR/Hive/Spark(相当于ETL)->HDFS Par...

2018-11-01 00:01:59 405

goods_detail.txt

最近学习安卓逆向,接触一下TB系的APP,了解大厂APP是做数据安全的,这篇文章主要介绍某宝APP的签名参数x-sign的HOOK过程,当然,其他的参数也是可以HOOK的。本文只用于学习交流,请勿他用。商品详情信息

2020-11-27

goods_ids.txt

最近学习安卓逆向,接触一下TB系的APP,了解大厂APP是做数据安全的,这篇文章主要介绍某宝APP的签名参数x-sign的HOOK过程,当然,其他的参数也是可以HOOK的。本文只用于学习交流,请勿他用。采集的商品id。

2020-11-27

user_base_info.json

Spark大型电商项目-用户活跃度分析模块-数据

2019-08-05

user_action_log.json

Spark大型电商项目-用户活跃度分析模块-数据

2019-08-05

area_top3_product.sql

MySQL中 area_top3_product表,task_id、area、area_level、product_id、city_names、click_count、product_name、product_status

2019-04-01

city_info.sql

各区域热门商品统计数据设计表,使用Spark SQL从MySQL中查询出来城市信息(city_id、city_name、area),用户访问行为数据要跟城市信息进行join,city_id、city_name、area、product_id,RDD,转换成DataFrame,注册成一个临时表

2019-04-01

空空如也

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

TA关注的人

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