scala
SunWuKong_Hadoop
人和人之间的能力是在8小时之外拉开的。
Notoriously torture the data until it confessed
展开
-
跟我一起学scala之——基础语法(一)
基础篇为依据菜鸟教程学习思路边敲代码边整理的详细内容原创 2018-08-15 14:26:08 · 147 阅读 · 0 评论 -
跟我一起学Spark之——用户在线时长和登录次数统计
package 用户在线时长和登录次数统计/** * Created by zhoubh on 2016/6/28. */import java.text.SimpleDateFormatimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}import scala.uti...转载 2019-01-23 01:21:40 · 1558 阅读 · 0 评论 -
跟我一起学Spark之——自定义分区实现
实现功能:将数据按照某个字段进行分开存储样例数据:20170721101954 http://sport.sina.cn/sport/race/nba.shtml20170721101954 http://sport.sina.cn/sport/watch.shtml20170721101954 http://car.sina.cn/car/fps.shtml20...转载 2019-01-23 18:13:06 · 299 阅读 · 0 评论 -
跟我一起学【Spark】之——数据分区
前言 控制数据分布以获得最少的网络传输可以极大地提升整体性能。 如果给定RDD只需要被扫描一次(例如大小表join中的小表),我们完全没有必要对其预先进行分区处理,只有当数据集多次在诸如连接这种基于键的操作中使用时(大表),分区才有帮助。 尽管Spark没有给出显示控制每个键具体落在哪一个工作节点上的方法,但是Spark可以确保同一组的键出现在...原创 2019-01-11 13:08:54 · 641 阅读 · 0 评论 -
跟我一起学Spark之——《Spark快速大数据分析》pdf版下载
链接:https://pan.baidu.com/s/1vjQCJLyiXzIj6gnCCDyv3g 提取码:ib01国庆第四天,去逛了半天的王府井书店,五层出电梯右边最里面,倒数第三排《数据结构》,找到了一本很不错的书《Spark快速大数据分析》,试读了下,我很喜欢,也很适合我,遂买之。第1章 Spark数据分析导论 1 第2章 Spark下载与入门 7 第3章 RDD编程 21...原创 2018-10-10 11:42:51 · 2000 阅读 · 1 评论 -
跟我一起学Spark之——RDD Join中宽依赖与窄依赖的判断
1.规律 如果JoinAPI之前被调用的RDD API是宽依赖(存在shuffle), 而且两个join的RDD的分区数量一致,join结果的rdd分区数量也一样,这个时候join api是窄依赖 除此之外的,rdd 的join api是宽依赖2.Join的理解 3.举例A表数据: 1 a 2 b 3 cB表数据: 1 aa1 1 aa2 2...转载 2018-10-16 15:56:27 · 1137 阅读 · 0 评论 -
跟我一起学Spark之——Windows10下spark2.3.0本地开发环境搭建-亲测
相关组件版本:JDK1.8.0_171,hadoop-2.7.6,Spark-2.3.0,Scala-2.11.8,Maven-3.5.3,ideaIC-2018.1.4.exe,spark-2.3.0-bin-hadoop2.71.1 JDK1.8.0_171a. 下载JDK,jdk-8u171-windows-x64.exe,安装到目录:D:\setupedsoft\Jav...转载 2018-10-09 16:46:22 · 726 阅读 · 1 评论 -
跟我一起学scala之——Scala抽取器(Extractor)
快速理解Scala抽取器(Extractor)apply方法:伴生类和伴生对象的概念,companion class和companion object 伴生对象里面,可以定义一个apply方法 此时在apply方法中,会创建一个半生类的对象,返回回去 这样的方式又一个好处:创建对象不需要new,直接传参数返回对象。 unapply方法,顾名思义,那就是反过来。ap...转载 2018-09-05 17:46:55 · 242 阅读 · 0 评论 -
跟我一起学scala之——基础语法(二)
基础篇为依据菜鸟教程学习思路边敲代码边整理的详细内容原创 2018-09-04 15:43:54 · 139 阅读 · 0 评论 -
跟我一起学scala之——Any和Nothing
Any前面已经有两次提到过:在scala中,Any类是所有类的超类。Any有两个子类:AnyVal和AnyRef。对应Java直接类型的scala封装类,如Int、Double等,AnyVal是它们的基类;对应引用类型,AnyRef是它们的基类。scala中,所有类的关系可以用下面这张图大致描述下:Any是一个抽象类,它有如下方法:!=()、==()、asInstanceOf(...转载 2018-09-04 10:41:48 · 620 阅读 · 0 评论 -
跟我一起学scala之——Scala类型检查与转换 isInstanceOf、asInstanceOf、classOf
Scala类型检查与转换isInstanceOf:检查某个对象是否属于某个给定的类。asInstanceOf:将引用转换为子类的引用。classOf:如果想测试p指向的是一个Employee对象但又不是其子类,可以用if(p.getClass == classOf[Employee]),classOf方法定义在scala.Predef对象中,因此会被自动引入。如:if(p.isIn...转载 2018-09-04 10:15:51 · 873 阅读 · 0 评论 -
跟我一起学scala之——操作符和运算
基本类型和操作,scala 的基本类型包括如下几种:数类型整数类型 :Byte Short Int Long小数类型: Float Double字符类型:Char 用'' 单引号包裹,是Unicode字符 转义字符也属于字符类型。字符串类型: String 【属于java.lang包】 用" " 双引号包裹 。 """ """ 三引号表示,为原始字符串布尔值: Bool...转载 2018-08-23 10:44:57 · 211 阅读 · 0 评论 -
跟我一起学scala之——变量、函数、方法
最近刚开始学习Scala,常被其“古怪”的语法、丰富的操作符、各式的函数操作方法、灵活的使用方式多雷到。这不刚开始,还没有入门就被其变量搞得有点迷糊了。在这里特意,写下这篇笔记,以作提醒铭记。1 变量Scala中,有两种类型的变量——val类型和var类型。1.1 类型定义在Java中,变量类型写在名称之前;而在Scala中,变量类型写在其名称之后,重甲使用英文冒号:分隔。s...转载 2018-08-16 15:29:21 · 753 阅读 · 0 评论 -
跟我一起学scala之——传名函数和传值函数
Scala的解释器在解析函数参数(function arguments)时有两种方式:先计算参数表达式的值(reduce the arguments),再应用到函数内部;或者是将未计算的参数表达式直接应用到函数内部。前者叫做传值调用(call-by-value),后者叫做传名调用(call-by-name)。传值函数和传名函数object Add { def addByName(...转载 2018-08-16 13:35:34 · 255 阅读 · 0 评论 -
利用IntelliJ IDEA与Maven学习Scala,进军spark
一. IntelliJ IDEA安装及配置1.1 IntelliJ IDEA下载及安装首先在 CHOOSE YOUR EDITION 这里选择Community版本,这个版本是免费提供的,对我们的Spark使用来说,用这个版本已经足够了。如下图所示:直接点击黑色的 DOWNLOAD 按钮会默认开始下载Windows版本的IntelliJ IDEA,如果需要其他平台的版本,可以点击旁...转载 2018-08-08 18:06:20 · 302 阅读 · 0 评论 -
scala及ide安装使用
Scala是一种类似Java的纯面向对象的函数式编程语言,由于函数具有明确的确定输入对确定输出的关系,所以适合推理和计算,一切函数都可以看成一系列的计算组成,另外由于Scala函数是没有副作用和透明的,所以非常适合做多核并行计算和云计算,现在正被越来越多的应用到生产中 因为Scala运行在JVM上,所以应该首先配置好JDK环境,然后下面是Windows安装Scala环境的过程: 1、下...转载 2018-08-08 17:21:38 · 3089 阅读 · 0 评论 -
Scala方法定义,方法和函数的区别,将方法转换成函数
1. 定义方法和函数1.1. 定义方法 方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型1.2. 定义函数1.3.方法和函数的区别在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作 案例:首先定义一个方法,再定义一个函数,然后将函数传递到方法里面 package cn.toto.scala/**...转载 2018-08-15 16:06:16 · 273 阅读 · 0 评论 -
跟我一起学【Spark】之——rdd.filter(_.contains("1")).count()详解
形如:rdd.filter(_.contains("1")).count()_.contains("1") //目的是获取包含“1”的行rdd.filter(_.contains("1")).count()// 计算rdd中包含“1” 的行的总数例如:rdd行编号 数据 1 1 2 21 rdd.filter(_.contains("1")).co...转载 2019-07-17 10:04:48 · 2239 阅读 · 0 评论