scala
文章平均质量分 55
power0405hf
这个作者很懒,什么都没留下…
展开
-
Scala 对象
摘自《快学Scala》第六章0.重点需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,就会用到object。 * 用对象作为单例或存放工具方法 * 类可以拥有一个同名的伴生对象 * 对象可以扩展类或特质 * 对象的apply方法通常用来构造伴生类的新实例 * 如果不想显式定义main方法,可以用扩展App特质的对象 * 可以通过扩展Enumeration对象来实现枚举1原创 2016-01-14 22:22:28 · 586 阅读 · 0 评论 -
Scala trait 未完待续
摘自《快学Scala》14.trait的背后Scala将trait翻译成JVM的类和接口。只有抽象方法的trait只有抽象方法的trait简单的变成一个Java接口。如:trait Logger{ def log(msg:String)}//被翻译成public interface Logger{ void log(String msg);}trait有具体的方法有具体方法的原创 2016-01-26 10:10:00 · 461 阅读 · 0 评论 -
Scala 的Hbase接口函数
GenTang/spark_hbase/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional informat转载 2016-01-08 10:01:50 · 824 阅读 · 0 评论 -
Scala JDBC连接mysql
下载JDBC Using Scala with JDBC to connect to MySQL import java.sql.{Connection, DriverManager,ResultSet} /* * insert mysql into hbase */try{ Class.forName("com.mysql.jdbc.Driver")原创 2015-12-06 21:32:34 · 1264 阅读 · 0 评论 -
Scala pair RDD 统计均值,方差等
val conf = new SparkConf().setAppName("hh") conf.setMaster("local[3]") val sc = new SparkContext(conf)val data = sc.textFile("/home/hadoop4/Desktop/i.txt") .map(_.split("\t")).map(f => f.map(原创 2015-12-15 10:57:49 · 12683 阅读 · 0 评论 -
pair RDD groupByKey countByKey countByValue aggregateByKey reduceByKey 测试
val d = sc.makeRDD(Array(1,2,3,4,5,1,3,5))val dd = d.map(x=>(x,1)) //构造pair RDD, dd:RDD[(Int,Int)]1.groupByKeyval dg = dd.groupByKey() //dg :RDD[(Int, Iterable[Int])]val dgc = dg.collectAsMap //d原创 2015-12-14 19:42:44 · 8683 阅读 · 0 评论 -
Scala 文件和正则表达式 快学Scala 第九章习题答案
0.重点Source.fromFile(…).getLines.toArray 输出文件的所有行Source.fromFile(…).getlines.mkString 以字符串形式输出文件内容将字符串转换为数字,可以用toInt或toDouble方法使用Java的PrintWriter来写入文本文件“正则”.r 是一个Regex对象如果你的正则表达式包含反斜杠或引号,用"""...""原创 2016-01-18 13:55:16 · 641 阅读 · 0 评论 -
快学Scala 第八章习题答案
8.1 扩展如下的BankAccount类新类CheckingAccount对每次存款和取款都收取1美元的手续费class BankAccount(initialBalance:Double){ private var balance = initialBalance def deposit(amount:Double) = {balance += amount;balance} def原创 2016-01-23 19:57:09 · 842 阅读 · 0 评论 -
Scala Spark 得到最近一天的数据 重点:join
0.数据val data="""user date item1 item21 2015-12-01 14 5.61 2015-12-01 10 0.61 2015-12-02 8 9.41 2015-12-02 90 1.32 2015-12-01 30 0.32 2015-12-01 89 1.22 2015-12原创 2016-01-22 13:35:17 · 2656 阅读 · 0 评论 -
Scala 映射和元组
摘自《快学Scala》0.重点Scala 有十分易用的语法来创建,查询和遍历映射需要从可变和不可变的映射中做出选择原创 2015-12-04 13:57:13 · 736 阅读 · 0 评论 -
Scala spark 向量、矩阵类型
spark向量、矩阵类型转载 2015-12-04 13:58:00 · 3124 阅读 · 0 评论 -
Lost executor on YARN
1. Lost executor on YARN ALS iterationsdebasish83 Q:During the 4th ALS iteration, I am noticing that one of the executor gets disconnected: 14/08/19 23:40:00 ERROR network.ConnectionManager: Correspon翻译 2016-01-03 16:12:12 · 8305 阅读 · 0 评论 -
Scala 继承
摘自《快学Scala》0.重点extends,final关键字和Java中相同重写方法时必须用override只有主构造器可以调用超类的主构造器可以重写字段本章只探讨类继承自另一个类的情况1.扩展类class Employee extends Person{ var salary = 0.0}和Java一样,将类声明为final,就不能被扩展了。2.重写方法Scala中重写一个原创 2015-12-24 16:27:30 · 445 阅读 · 0 评论 -
快学Scala第五章习题答案
5.1 改进5.1节的Counter类,让它不要在Int.MaxValue时变成负数。class Counter{ private var value = Int.MaxValue def increment(){ if(value < Int.MaxValue)value +=1 else value } def current = valu原创 2016-01-14 16:27:39 · 1610 阅读 · 0 评论 -
快学Scala 第四章习题答案
1.设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后构建另一个映射,采用同一组键,但在价格上打9折。val item = Map(("computer"->4500.0),("keyboard"->291.0))val itemDiscount = for((k,v)<- item) yield(k,v*0.9)2.编写一段程序,从文件中读取单词。用一个可变映射来清点每一个单词出现的频原创 2016-01-12 15:11:10 · 1430 阅读 · 0 评论 -
Scala 第十三章 集合
0.重点所有集合都扩展自Iterable特质集合有三大类,分别为序列Seq,集Set 和 映射Map对于5几乎所有集合类,Scala都同时提供了可变和不可变的版本Scala列表要么是空的,要么拥有一头一尾,其中尾部本身又是一个列表集是无先后次序的集合用LinkedHashSet来保留插入顺序,或者用SortedSet来按顺序进行迭代+ 将元素添加到无先后次序的集合中,+:和:+向前或向原创 2016-02-06 17:39:34 · 1233 阅读 · 0 评论 -
Scala 保留小数
val a = 3.1415926//保留两位小数val b = a.formatted("%.2f")println(b) //3.14或者//已经被废弃的方法val b = format("%.2f",a)原创 2016-01-28 21:54:43 · 30193 阅读 · 0 评论 -
快学Scala 第三章习题答案
1.编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间。val n = 100 //n是自己给定的val a = scala.util.Randomval b = new Array[Int](n) // new Array 和 Array 是有区别的for(i <- 0 until b.length){ b(i) = a.nextInt(n原创 2016-01-11 14:51:21 · 2248 阅读 · 0 评论 -
Scala 第十一章 操作符 and 习题答案
摘自《快学Scala》第十一章0.重点标识符由字母,数字或运算符构成一元和二元操作符其实是方法调用操作符优先级取决于第一个字符,而结合性取决于最后一个字符apply和update方法在对expr(args)表达式求值时被调用提取器从输入中提取元组或值的序列1.标识符一般还是用经典的模式:字母和数字的序列,以字母或下划线开头。2.中置操作符a 标识符 b其中,标识符代表一个带有两个参数的方原创 2016-01-28 13:26:32 · 670 阅读 · 0 评论 -
Scala中Array和List的区别
Difference between Array and List in scala Q:什么时候用Array(Buffer)和List(Buffer)? A: Scala中的List是不可变的递归数据(immutable recursive data),是Scala中的一种基础结构,你应该多用List而不是Array(Array实际上是mutable,不可变(immutable)的Array是原创 2015-12-09 14:03:49 · 11105 阅读 · 1 评论 -
Scala Spark 连接 HBase ( IDEA) 调试Spark Standalone
0.下载安装IDEAIDEA主页1.安装Scala插件2.新建工程 打开新工程后,在src文件夹下新建一个文件夹,名为qyTest2,在里面新建一个scala class,把class的类型改为object。 3.设置Project Structure打开File-》Project Structure -》Libraries 加入新的lib(new project lib->java),选择S原创 2015-11-29 14:50:31 · 7800 阅读 · 0 评论 -
Scala 将CSV文件转为RDD
How do I convert csv file to rdd假设csv文件是这种格式:user, topic, hitsom, scala, 120daniel, spark, 803754978, spark, 1我们可以使用第一行来定义一个header class:class SimpleCSVHeader(header:Array[String]) extends Seriali翻译 2016-01-09 16:56:39 · 7657 阅读 · 1 评论 -
spark 不支持 嵌入RDDs or 用户定义的函数 that refer to other RDDs 【未完待续】
spark does not support nested RDDs or user-defined functions that refer to other RDDs原创 2016-01-06 15:21:33 · 658 阅读 · 0 评论 -
Scala 当用到.contains() .exists()的性能问题
SCALA: Which data structures are optimal in which siutations when using “.contains()” or “.exists()”? Q: 当用到”.contains()”或”.exists()”时,哪种数据结构的性能是最好的? 比如:val m=Map(1 -> 1, 2 -> 2, 3 -> 3, 4 -> 4)// m翻译 2015-12-21 13:26:08 · 16301 阅读 · 0 评论 -
scala 对大数据量排序求中位数 lookup方法
val rdd=sc.makeRDD(Array(1,8,6,4,9,3,76,4))val sorted = rdd.sortBy(identity).zipWithIndex().map { case (v, idx) => (idx, v)}val count = sorted.count() val median: Double = if (count % 2 == 0) {原创 2016-01-05 21:44:34 · 6641 阅读 · 0 评论 -
Scala 文件操作
1.写入文件1.FileWriter专门用于处理文件的字符写入流对象import java.io.FileWriterprintln(Try{ val out = new FileWriter("/home/hadoop3/file/num1.txt",true) for (i <- 0 to 15) out.write(i.toString) out.close()})原创 2015-12-31 15:17:30 · 17645 阅读 · 1 评论 -
Scala in Spark 基本操作【未完】
[Apache Spark大数据分析入门(一)(http://www.csdn.net/article/2015-11-25/2826324)spark 笔记 5: SparkContext,SparkConfspark读取hbase Scala 强大的集合数据操作示例 spark中的一些RDD操作以及变换# 创建textFileRDDval textFile = sc.textFile("REA原创 2015-11-29 22:27:05 · 2604 阅读 · 0 评论 -
Scala StatCounter类
Scala StatCounter1.Instance Constructorsnew StatCounter() //初始化StatCounter()new StatCounter(values:TraversableOnce[Double])//用给定的值实例化StatCounter,TranversableOnce我觉得相当于是个迭代器,指针只能从前往后查看一遍(不能逆行)2.Value翻译 2015-12-16 16:03:28 · 1995 阅读 · 0 评论 -
快学Scala 第六章习题答案
6.1 编写一个Conversions对象,加入inchesToCentimeters, gallonsToLiters和milesToKilometers方法object Conversions{ def inchesToCentermeters()={ } def gallonsToLiters()={ } def milesToKilometers()={ }}6.2 前原创 2016-01-16 21:50:52 · 534 阅读 · 0 评论 -
Scala PrefixFilter
How to read from hbase using sparkTableInputFormat has the following attributes:SCAN_ROW_STARTSCAN_ROW_STOPconf.set(TableInputFormat.SCAN_ROW_START, "startrowkey")conf.set(TableInputFormat.SCAN_ROW_原创 2015-12-14 22:33:34 · 861 阅读 · 0 评论 -
Spark map flatMap
Spark 中 map 与 flatMap 的区别 简而言之,flatMap是在map的基础上合并数据。通过一个实验来看Spark 中 map 与 flatMap 的区别。步骤一:将测试数据放到hdfs上面hadoopdfs -put data1/test1.txt /tmp/test1.txt该测试数据有两行文本:步骤二:在Spark中创建一个RDD来读取hdfs文件/tmp/test1.txt转载 2015-12-15 16:23:08 · 961 阅读 · 0 评论 -
Scala Spark 求众数
1.数据格式1 2 31 4 54 5 64 7 87 8 910 11 1210 13 1410 1 21 100 10010 11 210 11 21 2 54 7 62.程序val conf = new SparkConf().setAppName("Mode")conf.setMast原创 2015-12-14 21:53:21 · 4727 阅读 · 0 评论 -
Spark Working with Key/Value Pairs
Chapter 4. Working with Key/Value PairsKey/Value RDDs are commonly used to perform aggregations(聚合),and often we will do some initial ETL(extract, transform, and load 提取,转换和加载) to get our data into a k翻译 2015-12-11 22:35:50 · 2384 阅读 · 0 评论 -
Vectors.dense()
import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.mllib.stat.Statistics val rdd = sc.makeRDD(Array(Array(1.0,10.1,2.5),Array(2.0,5.2,3.8))) val rdd2 = sc.makeRDD(Array(1.2原创 2015-12-12 15:00:49 · 10409 阅读 · 0 评论 -
Scala MD5
参考: * MD5 in Scala * MD5 hashing * Scala-MD5 Hash function for Scala console * Scala - converting array to map * Scala,importing class1.MD5//way 1object MD5{ def hash(s:String)={ val原创 2015-12-10 23:27:12 · 8225 阅读 · 0 评论 -
Spark 连接 Hbase 配置
1.count对表terminal_data_file1进行count:package qyTest3import org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.mapreduce.TableInputFormatimport org.apache.spark.{SparkContext, Spa原创 2015-11-30 20:24:47 · 3187 阅读 · 0 评论 -
Scala aggregate
1.Spark函数讲解:aggregate 2.Example of the Scala aggregate function1.Spark函数讲解:aggregate函数原型:def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U官方文档定义: Aggregate the el翻译 2015-12-17 21:35:54 · 4074 阅读 · 0 评论 -
Scala Array操作
0.重点长度固定则使用Array,若长度有可能变化则使用ArrayBuffer提供初始值时不要使用new用()来访问元素用for(elem <- arr)来遍历元素用for(elem <- arr if …)… yield …来将原数组转为新数组Scala数组和Java数组可以互操作;用ArrayBuffer,使用scala.collection.JavaConversions中的转换函原创 2015-12-03 16:02:39 · 3042 阅读 · 0 评论 -
Scala List 操作 list中最大数的下标 Vector转List
1.List操作take takeRight takeWhileval nums = List(1,1,1,1,4,4,4,4)val left = nums.take(4) //List(1,1,1,1)val right = nums.takeRight(4) //List(4,4,4,4) val headNums = nums.takeWhile(_==nums.head原创 2015-11-27 22:33:25 · 5593 阅读 · 0 评论 -
Scala case类
探索Scala(4)– Case ClassesCase ClassCase class是Scala语言模式匹配功能(pattern match )的基础。如果类定义的时候加上case关键字,那么它就变成了Case Class.原创 2015-12-19 22:40:21 · 1468 阅读 · 0 评论