scala
文章平均质量分 62
拱头
25岁前专注技术
展开
-
scala操作符和关键字
一元操作符:后置一元操作符:后置一元操作符就相当于普通的无参方法。前置一元操作符:前置操作符被默认转成对名为 unary_操作符 的方法调用,例如:-a和a.unary_-一样赋值操作符:定义形如:操作符= 的操作符例如:a 操作符= b等价于:a=a 操作符 b注意:=和!=不是赋原创 2015-12-09 22:01:48 · 884 阅读 · 0 评论 -
Spark-Sql
将RDD转化成SchemaRDD:1.4的API(事例代码,官网有)val sqlContext = new org.apache.spark.sql.SQLContext(sc)// this is used to implicitly convert an RDD to a DataFrame.import sqlContext.implicits.原创 2016-01-05 23:42:04 · 392 阅读 · 0 评论 -
spark-submit工具参数说明
参数名称含义--master MASTER_URL可以是spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local--deploy-mode DEPLOY_MODEDriver程序运行的地方,转载 2016-01-05 23:43:03 · 3067 阅读 · 0 评论 -
Spark编程模型
常见术语ApplicationSpark的应用程序,包含一个Driver program和若干个ExecutorSparkContextSpark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor。RDD的初始创建都是有SparkContext来负责的,将内存中的集合或者外部文件系统作为输入源。在SparkConte原创 2016-01-05 23:44:01 · 632 阅读 · 0 评论 -
Spark操作Hbase
Spark 下操作 HBase(1.0.0 新 API)HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本。这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API。虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API。并且了解下如何与当下正红的 Spark 结合,进行数据的写入与读取。鉴于国内外有关 HBase 1.0.转载 2016-01-05 23:44:59 · 12766 阅读 · 0 评论 -
spark搭建与编译
如果安装遇到权限问题:新建文件夹之后用chown和chgrp之后,把文件夹的归宿者设置为当前用户搭建:1.root登录设置sudo -svim /etc/lightdm/lightdm.conf输入 i 编辑:[SeatDefaults]user-session=ubuntugreeter-session=unity-greetergreeter-sho原创 2016-01-05 23:47:27 · 1087 阅读 · 0 评论 -
Spark的存储管理
功能上看Spark的存储管理模型可以分为两部分:RDD缓存和Shuffle数据的持久化.RDD缓存,指的是RDD调用cache(),persist()或checkpoint,调用这个三个方法会将RDD对应的数据块结果存储到内存或者磁盘中,可以将宽依赖的结果存储下来.Shuffle数据持久化,在一个Application中,可能会经过多次Shuffle过程,Shuffle的中间数据块是会被保原创 2016-01-05 23:48:26 · 709 阅读 · 0 评论 -
Spark性能优化的10大问题及其解决方案
转自: http://book.51cto.com/art/201409/453045.htm 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism。通常,reduce数目设置为core数目的2到3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太少,任务运行缓慢。转载 2016-01-05 23:49:23 · 6512 阅读 · 0 评论 -
Spark与Mysql(JdbcRDD)整合开发
转自 : http://www.iteblog.com/archives/1113 Spark的功能是非常强大,在本博客的文章中,我们讨论了《Spark和Hbase整合》、《Spark和Flume-ng整合》以及《和Hive的整合》。今天我们的主题是聊聊Spark和Mysql的组合开发。如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:itebl转载 2016-01-05 23:51:08 · 2734 阅读 · 0 评论 -
Spark源码导入IDE
可以查看:https://cwiki.apache.org/confluence/display/SPARK/Useful+Developer+Tools#UsefulDeveloperTools-IntelliJ1.导入IntelliJ(方法一)1.1 下载安装IntelliJ,在一开始的界面"Configure->Plugins"中输入Scala,安装Scala插件.1原创 2016-01-05 23:51:51 · 1066 阅读 · 0 评论 -
spark杂记
1.spark可以采用注册的方式将类序列化,在spark程序中,如果使用的第三方jar包的class没有序列化,可以用写一个MyRegistretor类,继承KryoRegistretor,重写其中的registerClass方法,将需要注册的类写入:class HbaseRegistrator extends KryoRegistrator { override def regis原创 2016-01-05 23:52:47 · 424 阅读 · 0 评论 -
Spark指令
以下指令在要关闭的worker的节点上执行:启动某个worker:sbin/start-slave.sh 1 spark://192.168.1.120:7077停止某个worker:sbin/stop-slave.sh 1 spark://192.168.1.120:7077start-all.sh 作用: 启动整个集群 stop-all.sh 作用: 关闭整个集群sta原创 2016-01-05 23:53:50 · 2603 阅读 · 0 评论 -
在windows下配置eclipse的spark调试环境
1.下载配置jdk,scala。2.下载eclipse for scala。3.下载带编译好的spark jar包。4.在eclipse中新建工程,导入 spark-assembly-1.1.1-hadoop1.0.4.jar 这类jar包,并且删除scala原有的library。5.新建类,输入以下代码,执行成功就可以了importscala.math.random原创 2016-01-05 23:55:07 · 2481 阅读 · 0 评论 -
Hbase Filter Scala 实战
大部分内容来自,示例代码部分都用scala编写介绍:hbase的filter用来控制返回的数据,主要用在Get和Scan中,通过filter的限制可以指定返回列簇,列,时间戳和版本号.所有的filter都在服务端生效,叫做谓词下推.这样可以保证被过滤掉的数据不会被传送客户端.在过滤层次结构的最底层是Filter接口和FilterBase抽象类,用户可以通过集成Filter和Filter原创 2016-03-22 14:45:08 · 4560 阅读 · 0 评论 -
Spark MLlib 包
稀疏矩阵表示方式说明:原创 2016-01-05 23:40:35 · 480 阅读 · 0 评论 -
RDD容错
(1)RDD分宽依赖和窄依赖,在宽依赖的RDD数据丢失后,要重新计算所有父分区,由DAGScheduler调用重做上一个Stage,宽依赖的RDD数据丢失后由TaskManager调用重做丢失数据的Task,这一种情况是在一个action执行的过程中发生的,所以出错后不需要执行所有的Stage,因为每个Stage执行之后会保存下suffer数据,供下一个Stage 使用。(2)persist和原创 2016-01-05 23:39:21 · 1260 阅读 · 0 评论 -
RDD类操作说明
1.RDD类由SparkContext进行创建。2.我们总是说RDD是lazy的,并不是说RDD类中定义了lazy的方法,RDD对应的数据是存在BlockStore的子类中的,说RDD是lazy的,意思是RDD在调用BlockStore,使用数据的时候,BlockStore中,初始化数据块的操作是lazy的.RDD基本转换操作(Transformation):原创 2016-01-05 23:38:18 · 3551 阅读 · 0 评论 -
scala高级类型
泛型泛型相关类ClassTag这个类就是泛型类的类型。泛型类在实例化的时候一定要具体指名泛型类型,泛型在编译的时候信息是抹去的,就会存在以下问题:defmkArray[T](elem:T*) =Array[T](elem:_*)//编译阶段会报错上面这句在编译的时候是报错的,因为Array[T]没有指定类型,但是我们有时候要这么写代码怎么办呢?这原创 2015-12-09 22:04:44 · 508 阅读 · 0 评论 -
样本类和模式匹配
scala中的match语句类似于其他语言的switchjava中的switch语法为:switch{选择器}{备选项}scala中的match语法:选择器 match {备选项}例子:defint2String(x:Int):String=xmatch{case0=>"This is 0"case1=>"This i原创 2015-12-09 22:10:16 · 639 阅读 · 0 评论 -
scala中常用的数据类型
集合类基本上都有mutable和immutable两种类型,其中immutable的类型在定义好之后就不能再改变,既不能改变集合中的值也不能改变集合的长短Array数组类型:使用例子:val arr = new Array[String]("a","b","c")val arr2 = new Array[String](3)arr2(0)="原创 2015-12-09 21:54:11 · 2150 阅读 · 0 评论 -
《快学scala》代码
第五章:类class Person {private var privateAge=0def age = privateAgedef age_= (newValue:Int){ //注意 age_= 这个符号中间不能由空格if(newValue>privateAge) privateAge = newValue}}class Counter {private原创 2015-12-09 21:57:07 · 852 阅读 · 0 评论 -
Idea+Maven创建scala项目
1.选择Create New Project2.如下图选择,然后下一步3.一直Next,填写groupID,artifactid,projectName之后等待IDEA初始化。4.IDEA完成初始化之后,点击左上角的自动导入。5.删除下面红框类,不必要的内容避免报错:6.修改pom.xml文件,将scala.version改成2.10以上的版本(原创 2015-12-09 22:00:56 · 13518 阅读 · 0 评论 -
scala的继承、组合与特质trait
scala可以在子类的构造器中重写父类的属性,例如:abstractclassElement{defcontents:Array[String]valheight:Int =contents.lengthvalwidth:Int =if(height==0)0elsecontents(0).length}子类:原创 2015-12-09 22:02:55 · 6250 阅读 · 1 评论 -
scala Actor
Actor实现基本步骤:1.继承Actor类。2.重写act()方法。3.实例化,调用start方法启动。示例代码:package com.yhb.dt.actorimport scala.actors.Actorobject First_Actor extends Actor {def act() {println(Thread.current原创 2015-12-09 21:58:48 · 606 阅读 · 0 评论 -
scala基本语法及注意点
scala有两种变量:val和var,val相当于Java中的final变量,一旦被赋值就不能修改。var相当于java中的普通变量。constant为定义常量的关键字定义函数:如果函数没有返回值,那么返回类型为Unit类似Java的void。如果最后的返回值类型是显而易见那么函数可以不写返回类型,否则就要写如果函数体只有一条语句,可以不写大括号原创 2015-12-09 22:06:16 · 5912 阅读 · 0 评论 -
scala解析xml
可以在scala代码中直接写xml,例如:val xmltest = yang这样的形式。如果需要读取xml文件,使用以下代码:import scala.xml._val xmlFile = XML.loadFile("book.xml")原创 2015-12-09 22:06:55 · 1186 阅读 · 0 评论 -
scala指令
运行jarscala ./IdeaProjects/recserver/out/artifacts/recserver_jar/recserver.jar直接运行jar中的主文件运行指定jar中的指定class的mainscala -classpath ./IdeaProjects/recserver/out/artifacts/recserver_jar/原创 2015-12-09 22:07:30 · 769 阅读 · 0 评论 -
常用trait和特殊类
Enumeration类:scala中没有枚举类型,如果要实线枚举类型可以让一个对象extends Enumeration。例如:object WeekDay extends Enumeration {type WeekDay = Valueval Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value}import WeekDay.原创 2015-12-09 22:09:03 · 348 阅读 · 0 评论 -
Intellij使用技巧
IntelliJ Idea 常用快捷键列表Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Shift+F 全局搜索Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctr原创 2016-01-05 23:35:10 · 470 阅读 · 0 评论 -
RDD读写HDFS
使用hdfs的数据存储创建RDD.Spark的整个生态系统与Hadoop是完全兼容的,所以对于Hadoop所支持的文件类型或者数据库类型,Spark也同样支持.另外,由于Hadoop的API有新旧两个版本,所以Spark为了能够兼容Hadoop所有的版本,也提供了两套创建操作接口.对于外部存储创建操作而言,hadoopRDD和newHadoopRDD是最为抽象的两个函数接口,主要包含以下四个参原创 2016-01-05 23:36:53 · 9280 阅读 · 0 评论 -
Spark读写Hbase示例代码
Spark读写Hbase示例代码写入HbasedefwriteHbaseFromRDD(tableName:String,columnFamily:String,column:String,rdd:RDD[(String,String)]):Unit={valhbaseConf = HBaseConfiguration.create()//原创 2016-01-20 20:30:14 · 2565 阅读 · 0 评论