自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Liam's Blog (AI & BigData)

个人博客了解一下: liam8.github.io

  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 Spark Core解析 2:Scheduler 调度体系

Spark Core解析 2:Scheduler 调度体系Overview调度系统,是贯穿整个Spark应用的主心骨,从调度系统开始入手了解Spark Core,比较容易理清头绪。Spark的资源调度采用的是常见的两层调度,底层资源的管理和分配是第一层调度,交给YARN、Mesos或者Spark的Standalone集群处理,Application从第一层调度拿到资源后,还要进行内部的任务...

2019-12-12 23:41:15 1257

原创 Scala并发编程实战 - 2:Lock 锁

synchronized作为内置锁,使用简单,不易出错,然鹅确有相当的局限性,例如,无法从等待获取锁的阻塞中中断,无法设置获取锁的超时。所以JUC提供了另一种更灵活的加锁方式,即Lock。LockLock接口定义如下public interface Lock { void lock(); void lockInterruptibly() throws Interru...

2019-11-16 14:29:14 2214

原创 Scala并发编程实战:Monitor与synchronized

Java并发编程最常用和易用的技术莫过于synchronized关键字,而Scala的并发编程之旅也可以从synchronized开始。而synchronized的背后其实是monitor技术。什么是MonitorMonitor是解决并发编程问题的一种常用技术,可以有效解决互斥和同步两大常见问题,通常翻译为‘监视器’或‘管程’。个人认为‘管程‘更能表达monitor的含义,指的是管理共享变量以...

2019-11-11 17:05:53 1723

原创 Spark Core 解析:RDD

引言Spark Core是Spark的核心部分,是Spark SQL,Spark Streaming,Spark MLlib等等其他模块的基础, Spark Core提供了开发分布式应用的脚手架,使得其他模块或应用的开发者不必关心复杂的分布式计算如何实现,只需使用Spark Core提供的分布式数据结构RDD及丰富的算子API,以类似开发单机应用的方式来进行开发。图中最下面那个就是Spark...

2019-10-28 21:04:53 1608

原创 Scala implicit 隐式转换安全驾驶指南

这篇短文将结合实例对隐式转换的各种场景进行解释和总结,希望看完的人能够安全驶过隐式转换这个大坑。隐式转换函数隐式转换函数有两种作用场景。1 转换为期望类型:就是指一旦编译器看到X,但需要Y,就会检查从X到Y的隐式转换函数。2 转换方法的调用者:简单来说,如obj.f(),如果obj对象没有f方法,则尝试将obj转换为拥有f方法的类型。object ImpFunction exte...

2019-09-29 23:01:53 912

原创 Scala并发编程实战:Executor线程池

创建线程是一个重量级操作,因为需要调用操作系统内核的API,所以最好不要频繁的创建和销毁线程,为了能够复用创建的线程,常用的办法的就是创建线程池。Executorjava.util.concurren包中提供了若干接口和类来实现线程池,最常用的有Executor,ExecutorService,ThreadPoolExecutor。Executor接口很简单定义如下:public inte...

2019-09-28 23:27:26 3743

原创 基于Spark实现推荐算法-4:基于物品的协同过滤(实现篇)

算法设计与实现基于物品的协同过滤又称Item-Based CF. 基于Spark的Item-Based CF算法其实现原理和步骤与经典方法基本一致,不同的地方主要在于具体步骤内的并行化计算。相似度算法在Spark MLlib中提供了余弦相似度的分布式实现,org.apache.spark.mllib.linalg.distributed包中的IndexedRowMatrix是一个...

2018-05-04 09:37:36 8725 3

原创 基于Spark实现推荐算法-2:基于用户的协同过滤(理论篇)

基于用户的协同过滤基于用户的协同过滤,即User-Based CF (User-Based Collaborative Filtering),是基于一个这样的假设“跟你爱好相同的人喜欢的物品,你很可能也喜欢”,所以User-Based CF主要的任务就是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。 User-Based CF算法可以分为4个步骤:数据表示、最近邻查询、评分...

2018-05-03 09:47:51 2555

原创 基于Spark实现推荐算法-1:推荐算法简介

个性化推荐系统简介个性化推荐系统的定义在 1997 年由 Resnick 和 Varian 提出:利用互联网向用户提供信 息和建议,帮助用户选择产品,或模拟售货员帮助用户完成购买行为的系统 。通常推荐 由三个要素组成:推荐算法、用户、候选推荐项目。简单来说,一次推荐过程就是推荐算 法从候选推荐项目中挑出某些项目给用户。目前个性化推荐系统已经在电子商务、视频、音乐、新闻、博客等领域得到了广泛...

2018-05-02 09:37:07 10856 1

原创 用Spark Streaming实时计算海量用户UV

提出需求实时统计业务系统(web,APP之类)的访问人数,即所谓UV,或者DAU指标.这个需求怕是流计算最最最常见的需求了.计算UV的关键点就在于去重,即同一个人访问两次是只计一个UV的.在离线计算中统计UV比较容易想到的方法就是用group或distinct机制来去重.但是在实时计算场景,还用group就不太科学了,一个是全量数据的group是比较费时的,第二个是全量数据的group...

2018-05-01 11:21:19 5517

原创 Spark RDD API全集

RDD是啥Resilient Distributed Dataset (RDD),弹性分布式数据集,是对不可修改,分区的数据集合的抽象。RDD is characterized by five main properties:A list of partitionsA function for computing each splitA list of dependenci

2018-03-27 13:14:35 1064

原创 Spark SQL 函数全集

Summaryorg.apache.spark.sql.functions是一个Object,提供了约两百多个函数。大部分函数与Hive的差不多。除UDF函数,均可在spark-sql中直接使用。经过import org.apache.spark.sql.functions._ ,也可以用于Dataframe,Dataset。version 2.3.0大部分支持Colum...

2018-03-23 09:31:01 41145 5

原创 Spark SQL Dataset API 全集

简介org.apache.spark.sql.Dataset是Spark SQL中核心的类,定义如下:class Dataset[T] extends SerializableDataFrame是Dataset[Row]的别名。本文基于spark2.3.0.下面是类方法简介。类方法Actionscollect(): Array[T]返回一个数组,包...

2018-03-22 23:39:50 6445

原创 自定义开发Spark ML机器学习类 - 1

初窥门径Spark的MLlib组件内置实现了很多常见的机器学习算法,包括数据抽取,分类,聚类,关联分析,协同过滤等等. 然鹅,内置的算法并不能满足我们所有的需求,所以我们还是经常需要自定义ML算法.MLlib提供的API分为两类: - 1.基于DataFrame的API,属于spark.ml包. - 2.基于RDD的API, 属于spark.mllib包.从Spark 2.0开始...

2018-01-27 23:22:41 2246 1

转载 一个Spark SQL查询的一生

Spark是时下很火的计算框架,由UC Berkeley AMP Lab研发,并由原班人马创建的Databricks负责商业化相关事务。而SparkSQL则是Spark之上搭建的SQL解决方案,主打交互查询场景。人人都说Spark/SparkSQL快,各种Benchmark满天飞,但是到底Spark/SparkSQL快么,或者快在哪里,似乎很少有人说得清。因为Spark是基于内存的计算框架?因

2016-06-29 23:12:57 893

原创 Hive添加自定义UDF函数

1 编写UDF类以简单的处理单个字段的UDF函数为例,开发自定义UDF函数需要继承’org.apache.hadoop.hive.ql.exec.UDF’类. 可以通过Maven添加,pom文件中加入(版本号跟Hive版本一致即可):dependency> groupId>org.apache.hivegroupId> artifactId>hive-execartifact

2016-05-04 06:36:30 11819 1

原创 CentOS 配置SSH免密码登陆(公私钥登陆)

#环境说明客户机:Mac OS X服务器:CentOS 6.5客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本.#大致流程1.在客户机创建一对密钥文件,包括公钥文件(~/.ssh/id_rsa.pub),私钥文件(~/.ssh/id_rsa).2.把公钥放到服务器上(~/.ssh/authoriz

2016-04-14 10:05:36 5105

原创 Spark SQL thrift server 部署

Spark SQL 简易部署笔记

2016-04-14 09:25:34 1140

原创 Spark on YARN 部署

Spark on YARN 部署笔记

2016-04-14 07:30:51 420

《图解设计模式》最好的电子版!高清带书签

《图解设计模式》最好的电子版!高清带书签

2018-12-08

空空如也

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

TA关注的人

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