
Data Analysis
文章平均质量分 84
0x12A2A7F
探索数据宇宙.
展开
-
Pandas API on Upcoming Apache Spark™ 3.2
We’re thrilled to announce that the pandas API will be part of the upcoming Apache Spark™ 3.2 release. pandas is a powerful, flexible library and has grown rapidly to become one of the standard data science libraries. Now pandas users will be able to lever转载 2021-10-19 17:30:29 · 230 阅读 · 0 评论 -
Adaptive Query Execution: Speeding Up Spark SQL at Runtime
This is a joint engineering effort between the Databricks Apache Spark engineering team — Wenchen Fan, Herman van Hovell and MaryAnn Xue — and the Intel engineering team — Ke Jia, Haifeng Chen and Carson Wang.Over the years, there’s been an extensive an.转载 2021-10-19 10:41:17 · 299 阅读 · 0 评论 -
flink on yarn集群搭建
环境需求CentOS7.5.1804、jdk1.8.0_181、zookeeper3.6.2、hadoop3.2.2、flink1.12.2关于hadoop的安装细节请查看《hadoop3.2.2集群搭建》集群部署下载flink-1.12.2的安装包,下载地址:https://archive.apache.org/dist/flink/flink-1.12.2/,如下图下载scala-2.12.13的安装包,下载地址:https://scala-lang.org/download/2.12.原创 2021-06-22 14:29:07 · 6345 阅读 · 0 评论 -
sparkcore实现word count
spark core几种实现word count的方式(基于spark3.1.2和scala2.12.13):import org.apache.spark.{SparkConf, SparkContext}object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local[4]").setAppName("WordCount") val sc原创 2021-06-10 11:10:53 · 295 阅读 · 0 评论 -
scala学习笔记 - 隐式参数
隐式参数函数或方法可以带有一个标记为implicit的参数列表。在这种情况下,编译器将会查找默认值,提供给本次函数调用,以下是一个简单的示例:case class Delimiters(left: String, right: String) def quote(what: String)(implicit delims: Delimiters) delims.left + what + delims.right可以用一个显式的Delimiters对象来调用quote方法,就像这样:quo原创 2021-05-31 17:43:32 · 463 阅读 · 0 评论 -
scala学习笔记 - 隐式转换
隐式转换在Scala中,隐式转换函数(implicit conversion function)指的是那种以implicit关键字声明的带有单个参数的函数。正如它的名称所表达的那样,这样的函数将被自动应用,将值从一种类型转换为另一种类型。如下,有一个*方法用来将两个分数相乘,我们想把整数n转换成分数n / 1:implicit def int2Fraction(n: Int) = Fraction(n, 1)这样我们就可以做如下表达式求值:val result = 3 * Fraction(4,原创 2021-05-31 14:54:30 · 251 阅读 · 0 评论 -
scala学习笔记 - 高级类型(二)
自身类型特质可以要求混入它的类扩展自另一个类型,用自身类型(self type)的声明来定义特质:this: 类型 =>这样的特质只能被混入给定类型的子类当中。在如下示例中,LoggedException特质只能被混人扩展自 Expcetion的类:trait Logged { def log(msg: String) }trait LoggedException extends Logged{ this: Exception => def log(){ lo原创 2021-05-31 09:32:56 · 202 阅读 · 0 评论 -
scala学习笔记 - 高级类型(一)
单例类型给定任何引用v,你可以得到类型v.type,它有两个可能的值:v和null,这听上去像是一个挺古怪的类型,但它在有些时候很有用。首先,我们来看那种返回this的方法,通过这种方式你可以把方法调用串接起来:class Document { def setTitle(title: String) = { ... ; this } def setAuthor(author: String) = { ... ; this ) ...}然后,你就可以编写如下代码:val s =原创 2021-05-27 15:25:16 · 255 阅读 · 0 评论 -
scala学习笔记 - 类型参数(二)
多重界定类型变量可以同时有上界和下界。写法为:T >: Lower <: Upper不能同时有多个上界或多个下界;不过,你依然可以要求一个类型实现多个特质,就像这样:T <: Comparable[T] with Serializable with Cloneable可以有多个上下文界定:T : Ordering : ClassTag类型约束类型约束提供给你的是另一个限定类型的方式,总共有三种关系可供使用:T =:= U // T是否等于UT <:<原创 2021-05-27 11:03:19 · 256 阅读 · 0 评论 -
scala学习笔记 - 类型参数(一)
泛型类类和特质可以带类型参数,Scala中,我们用方括号来定义类型参数,例如:class Pair[T, S](val first: T, val second: S)以上将定义一个带有两个类型参数T和S的类。在类的定义中,你可以用类型参数来定义变量、方法参数、以及返回值的类型。Scala会从构造参数推断出实际类型:val p = new Pair(30, "aaaa") // 这是一个Pair[Int, String]你也可以自己指定类型:val p2 = new Pair[Any, A原创 2021-05-26 17:39:41 · 290 阅读 · 0 评论 -
scala学习笔记 - 模式匹配和样例类(二)
样例类样例类是一种特殊的类,它们经过优化以被用于模式匹配;在本例中,有两个扩展自常规(非样例)类的样例类:abstract class Amountcase class Dollar(value : Double) extends Amountcase class Currency (value : Double , unit: String) extends Amount你也可以有针对单例的样例对象:case object Nothing extends Amount当我们有一个类型为A原创 2021-05-25 13:44:18 · 331 阅读 · 1 评论 -
scala学习笔记 - 模式匹配和样例类(一)
认识match var sign = 0 val ch: Char = '-' ch match { case '+' => sign = 1 case '-' => sign = -1 case _ => sign = 0 }与default等效的是捕获所有的case _模式。有这样一个捕获所有的模式是有好处的,否则,如果没有模式能匹配,代码会抛出MatchError。与switch语句不同,Scala模式匹配并不原创 2021-05-24 17:50:24 · 256 阅读 · 0 评论 -
scala学习笔记 - scala与java集合的互操作
JavaConversions对象提供了用于在Scala和Java集合之间来回转换的一组方法。给目标值显式地指定一个类型来触发转换 例如:import scala col lec ti JavaConversions._val props: scala.collection.mutable.Map[String, String] = System .getProperties()如果你担心那些不需要的隐式转换也被引人的话,只引入需要的即可 例如:import scala.collection.J原创 2021-05-24 13:46:09 · 621 阅读 · 1 评论 -
scala学习笔记 - 高阶函数
作为值的函数在Scala中,函数是“头等公民”,就和数字一样。你可以在变量中存放函数:scala> import scala.math._import scala.math._scala> val num = 3.14num: Double = 3.14scala> val fun = ceil _fun: Double => Double = <function1>scala> fun(num)res0: Double = 4.0从技术原创 2021-05-21 15:05:49 · 362 阅读 · 0 评论 -
scala学习笔记 - 特质
特质当接口使用Scala的特质可以像Java的接口那样工作,如下:trait Logger { def log(msg: String) // 定义一个抽象方法}无需使用abstract声明,特质中没有实现的方法默认就是抽象方法。子类可以实现,如下:class ConsoleLogger extends Logger {// override def log(msg: String): Unit = println(msg) // 也可以 def log(msg: String):原创 2021-05-19 16:42:29 · 217 阅读 · 0 评论 -
scala学习笔记 - 类构造器
scala类的构造器辅助构造器scala的类可以有任意多的辅助构造器。辅助构造器的名称为this。每一个辅助构造器都必须以一个对先前已定义的其他辅助构造器或主构造器的调用开始。如下:class Demo { private var name: String = _ private var age = 0 def this(name: String) { this() // 调用主构造器 this.name = name } def this(name:原创 2021-05-17 15:34:18 · 406 阅读 · 0 评论 -
scala学习笔记 - 类属性
Scala的类属性Scala类最简单的形式看上去和Java或C++中的很相似:class Demo1 { private var value = 0 // 必须初始化字段 def increment(): Unit = { // 方法默认是共有的 value += 1 } // def current(): Int = value def current: Int = value}调用无参方法(比如current时,可以写上圆括号,也可以写;?一般认为对于改值器方法原创 2021-05-17 11:15:52 · 440 阅读 · 1 评论 -
利用R语言实现spark大数据分析与可视化
系统概述在日常业务分析中, R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据计算框架,采用内存计算,可以短时间内完成大量的数据的处理及计算模型,但缺点是不能图形展示, R语言的sparkly则提供了R语言和Spark的接⼝,实现了在数据量大的情况下,应用Spark的快速数据分析和处理能力结合R语言的图形化展示功能,方便转载 2017-02-23 21:20:14 · 6584 阅读 · 0 评论 -
spark数据倾斜调优(二)
调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种...转载 2017-03-09 20:39:47 · 1482 阅读 · 0 评论 -
K最近邻算法
设想你想了解一个陌生人的饮食风格,如果你对他所知无几,那么最容易想到的一个捷径就是看看他生存的周围人群的口味。但是如果你对他的信息知道更多,例如知道他的年龄、收入等,那么这个时候就最好从他周围的人群中去挑选与他年龄、收入相近的人的饮食风格,这样预测会更准确一点。这其中蕴含的算法就是最近邻算法。最近邻算法的思想很简单,”距离“相近的事物总会具有更多的共性。其中涉及的数学知识并不深厚。转载 2017-05-01 11:43:21 · 1521 阅读 · 0 评论 -
K-Means集群算法
无论什么数据集,理论上都可以形成一定数量的集群。例如,党我们拿到学生成绩表时,我们可以把成绩分数划分为优(90分左右)、良(80分左右)、中(70分左右)、差(60分及以下)。再例如对于工人工资表,我们也可以把工人按照工资划分成一定数量的集群,每个集群一定是围绕某个工资水平的。甚至我们可以抓取所有微信公众文章,将文章标题映射为向量表示(假设没有那些标题党文章的话),我们就可转载 2017-05-01 11:51:36 · 3413 阅读 · 0 评论 -
决策树(Decision Tree)
决策树算法是一种基于决策的预测算法,顾名思义,每一个决策相当于一棵树的枝干,而每个枝干都会导向一个决策结果。决策树其实可以分为分类树和回归树,分类树是指输出每个样本的类别,而回归树是指输出数值结果,这里我们只讨论分类树。在应用中,决策树通常是基于一套规则去将数据分门别类。在一个数据集中,决策树算法会利用每一个样本的属性变量,并确定哪一个属性是最重要的,然后给出一系列决策去最优地将数转载 2017-05-01 11:54:57 · 746 阅读 · 0 评论 -
Bagging,Random Forests以及Boosting
前面讲到,决策树(决策树(Decision Tree))可以用来解决分类或回归问题,它们统称为分类回归树(Classification and Regression Tree,CART)。并且,分类回归树有一个显著的缺点,那就是对噪音十分敏感,稍微改变数据,树的形状很有可能发生较大的改变。为了防止分类回归树陷入过拟合,我们有一系列改善措施来提高树的性能,常见的有Bagging和Random转载 2017-05-01 11:59:30 · 1311 阅读 · 0 评论 -
Spark在美团的实践
前言美团是数据驱动的互联网服务,用户每天在美团上的点击、浏览、下单支付行为都会产生海量的日志,这些日志数据将被汇总处理、分析、挖掘与学习,为美团的各种推荐、搜索系统甚至公司战略目标制定提供数据支持。大数据处理渗透到了美团各业务线的各种应用场景,选择合适、高效的数据处理引擎能够大大提高数据生产的效率,进而间接或直接提升相关团队的工作效率。美团最初的数据处理以Hive SQL为主,底层计算引擎转载 2017-05-09 13:57:12 · 902 阅读 · 0 评论 -
R资源大全
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过。。。直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和爬一些R的资料,看着看着就入迷了,这就是个大宝库了,以前怎么没发现,看来还是太狭隘了。直到前几天我看到这个Awesome R文档,我就静不下来了,对比了目前自己的工作和以后的方向,非常转载 2017-02-22 21:49:15 · 8520 阅读 · 0 评论