Spark
文章平均质量分 71
liam08
博主/大数据与AI技术爱好者
展开
-
Spark Core解析 2:Scheduler 调度体系
Spark Core解析 2:Scheduler 调度体系Overview调度系统,是贯穿整个Spark应用的主心骨,从调度系统开始入手了解Spark Core,比较容易理清头绪。Spark的资源调度采用的是常见的两层调度,底层资源的管理和分配是第一层调度,交给YARN、Mesos或者Spark的Standalone集群处理,Application从第一层调度拿到资源后,还要进行内部的任务...原创 2019-12-12 23:41:15 · 1266 阅读 · 0 评论 -
Scala并发编程实战 - 2:Lock 锁
synchronized作为内置锁,使用简单,不易出错,然鹅确有相当的局限性,例如,无法从等待获取锁的阻塞中中断,无法设置获取锁的超时。所以JUC提供了另一种更灵活的加锁方式,即Lock。LockLock接口定义如下public interface Lock { void lock(); void lockInterruptibly() throws Interru...原创 2019-11-16 14:29:14 · 2230 阅读 · 0 评论 -
Scala并发编程实战:Monitor与synchronized
Java并发编程最常用和易用的技术莫过于synchronized关键字,而Scala的并发编程之旅也可以从synchronized开始。而synchronized的背后其实是monitor技术。什么是MonitorMonitor是解决并发编程问题的一种常用技术,可以有效解决互斥和同步两大常见问题,通常翻译为‘监视器’或‘管程’。个人认为‘管程‘更能表达monitor的含义,指的是管理共享变量以...原创 2019-11-11 17:05:53 · 1736 阅读 · 0 评论 -
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 · 1628 阅读 · 0 评论 -
基于Spark实现推荐算法-4:基于物品的协同过滤(实现篇)
算法设计与实现基于物品的协同过滤又称Item-Based CF. 基于Spark的Item-Based CF算法其实现原理和步骤与经典方法基本一致,不同的地方主要在于具体步骤内的并行化计算。相似度算法在Spark MLlib中提供了余弦相似度的分布式实现,org.apache.spark.mllib.linalg.distributed包中的IndexedRowMatrix是一个...原创 2018-05-04 09:37:36 · 8765 阅读 · 3 评论 -
基于Spark实现推荐算法-2:基于用户的协同过滤(理论篇)
基于用户的协同过滤基于用户的协同过滤,即User-Based CF (User-Based Collaborative Filtering),是基于一个这样的假设“跟你爱好相同的人喜欢的物品,你很可能也喜欢”,所以User-Based CF主要的任务就是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。 User-Based CF算法可以分为4个步骤:数据表示、最近邻查询、评分...原创 2018-05-03 09:47:51 · 2576 阅读 · 0 评论 -
基于Spark实现推荐算法-1:推荐算法简介
个性化推荐系统简介个性化推荐系统的定义在 1997 年由 Resnick 和 Varian 提出:利用互联网向用户提供信 息和建议,帮助用户选择产品,或模拟售货员帮助用户完成购买行为的系统 。通常推荐 由三个要素组成:推荐算法、用户、候选推荐项目。简单来说,一次推荐过程就是推荐算 法从候选推荐项目中挑出某些项目给用户。目前个性化推荐系统已经在电子商务、视频、音乐、新闻、博客等领域得到了广泛...原创 2018-05-02 09:37:07 · 10950 阅读 · 1 评论 -
用Spark Streaming实时计算海量用户UV
提出需求实时统计业务系统(web,APP之类)的访问人数,即所谓UV,或者DAU指标.这个需求怕是流计算最最最常见的需求了.计算UV的关键点就在于去重,即同一个人访问两次是只计一个UV的.在离线计算中统计UV比较容易想到的方法就是用group或distinct机制来去重.但是在实时计算场景,还用group就不太科学了,一个是全量数据的group是比较费时的,第二个是全量数据的group...原创 2018-05-01 11:21:19 · 5537 阅读 · 0 评论 -
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 · 1070 阅读 · 0 评论 -
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 · 41475 阅读 · 5 评论 -
自定义开发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 · 2258 阅读 · 1 评论 -
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 · 6501 阅读 · 0 评论 -
Spark on YARN 部署
Spark on YARN 部署笔记原创 2016-04-14 07:30:51 · 426 阅读 · 0 评论 -
Spark SQL thrift server 部署
Spark SQL 简易部署笔记原创 2016-04-14 09:25:34 · 1153 阅读 · 0 评论 -
一个Spark SQL查询的一生
Spark是时下很火的计算框架,由UC Berkeley AMP Lab研发,并由原班人马创建的Databricks负责商业化相关事务。而SparkSQL则是Spark之上搭建的SQL解决方案,主打交互查询场景。人人都说Spark/SparkSQL快,各种Benchmark满天飞,但是到底Spark/SparkSQL快么,或者快在哪里,似乎很少有人说得清。因为Spark是基于内存的计算框架?因转载 2016-06-29 23:12:57 · 897 阅读 · 0 评论