Scala安装(Ubuntu14.04)、转换(transformations)和动作(action)备忘
来源:互联网 发布:官方期货交易软件 编辑:程序博客网 时间:2024/06/07 07:13
一、安装
1.下载二进制压缩包http://www.scala-lang.org/downloads
2.移动至:/usr/local/share
sudo mv scala-2.12.1.tgz /usr/local/share3.解压
cd /usr/local/sharesudo tar zxf scala-2.12.1.tgz
4.配置
4.1-打开配置文件
sudo gedit /etc/profile4.2-添加scala路径配置
# Scala configexport SCALA_HOME="/usr/local/share/scala-2.12.1"export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$SCALA_HOME/bin4.3-使配置生效
source /etc/profile5.测试是否成功
cd ~scala-version如果安装成功则会输出类似一下内容
Scala code runner version 2.12.1 -- Copyright 2002-2016, LAMP/EPFL and Lightbend, Inc.
安装成功后可以简单地通过 Spark 交互式shell bin/spark-shell开始一个 Scala shell,或bin/pyspark开始一个 Python shell。
二、转换(transformations)
在 Spark 中,所有的转换(transformations)都是惰性(lazy)的,它们不会马上计算它们的结果。相反的,它们仅仅记录转换操作是应用到哪些基础数据集(例如一个文件)上的。转换仅仅在这个时候计算:当动作(action) 需要一个结果返回给驱动程序的时候。这个设计能够让 Spark 运行得更加高效。例如,我们可以实现:通过map 创建一个新数据集在reduce 中使用,并且仅仅返回 reduce 的结果给 driver,而不是整个大的映射过的数据集。
转换 作用 map(func)返回一个新的分布式数据集,它将数据源的每个元素传递给函数func映射。filter(func)返回一个新的数据集,从数据源中选中一些通过函数 func过滤的元素。flatMap(func)类似于 map,但是每个输入项能被映射成多个输出项(所以 func 必须返回一个序列,而不是单个 item)。mapPartitions(func)类似于 map,但是分别运行在 RDD 的每个分区上,所以 func 的类型必须是 Iterator<T> => Iterator<U>。mapPartitionsWithIndex(func)类似于 mapPartitions,但是 func 需要提供一个 integer 值描述索引(index),所以 func 的类型必须是 (Int, Iterator) => Iterator。sample(withReplacement, fraction, seed)对数据进行采样。union(otherDataset)返回一个新的数据集,其中包含源数据集和参数中元素的并集。intersection(otherDataset)返回一个包含源数据集和参数中的元素交集的新RDD。distinct([numTasks]))返回包含源数据集的不同元素的新数据集。groupByKey([numTasks])当在(K,V)键值对的数据集上调用时,返回(K,Iterable)键值对的数据集。 注意:如果要进行分组以便对每个键执行聚合(如求总和或求平均值),使用reduceByKey或combineByKey将产生更好的性能。 默认情况下,输出中的并行性级别取决于父RDD的分区数。 您可以传递可选的numTasks参数,以设置不同数量的任务。reduceByKey(func, [numTasks])当在(K,V)键值对的数据集上调用时,返回(K,V)键值对的数据集,其中使用给定的reduce函数func聚集每个键的值,其必须是类型(V,V)=> V.像groupByKey一样,reduce任务的数量可以通过可选的第二个参数来配置。aggregateByKey(zeroValue)(seqOp, combOp, [numTasks])当在(K,V)键值对的数据集上调用时,返回(K,U)键值对的数据集,其中使用给定的组合函数和中性“零”值来聚合每个键的值。 允许与输入值类型不同的聚合值类型,同时避免不必要的分配。 像groupByKey中一样,reduce任务的数量可以通过可选的第二个参数来配置。sortByKey([ascending], [numTasks])当对(K,V)键值对的数据集(其中K实现Ordered)调用时,返回按升序或降序按键排序的(K,V)键值对的数据集。join(otherDataset, [numTasks])当调用(K,V)和(K,W)类型的数据集时,返回具有每个键的所有元素对的(K,(V,W))键值对的数据集。 外部联接也通过leftOuterJoin和rightOuterJoin支持。cogroup(otherDataset, [numTasks])当调用(K,V)和(K,W)类型的数据集时,返回(K,Iterable,Iterable)元组的数据集。 此操作也称为groupWith。cartesian(otherDataset)当调用T和U类型的数据集时,返回(T,U)对(所有元素对)的数据集。pipe(command, [envVars])通过shell命令管道RDD的每个分区,例如。 一个Perl或bash脚本。 RDD元素被写入进程的stdin,并且以行的形式输出到其stdout作为字符串的RDD返回。coalesce(numPartitions)将RDD中的分区数减少到numPartitions。用于过滤掉大型数据集后更有效地运行操作。repartition(numPartitions)随机重新刷新RDD中的数据以创建更多或更少的分区,并在它们之间进行平衡。 这总是在网络上刷新所有数据。
下面的表格列了Spark支持的一些常用 transformations。
三、动作(actions)
在 Spark 中,动作(actions) 在数据集上进行计算之后返回一个值到驱动程序。
在 Spark 中,动作(actions) 在数据集上进行计算之后返回一个值到驱动程序。
下面的表格列了Spark支持的一些常用 actions。
0 0
- Scala安装(Ubuntu14.04)、转换(transformations)和动作(action)备忘
- spark学习-22-Spark算子Transformations和Action使用大全(Transformations章(一))
- spark学习-23-Spark算子Transformations和Action使用大全(Transformations章(二))
- ubuntu14.04 python3.5安装工具包(个人备忘)
- ubuntu14.04 lts server安装配置备忘
- ubuntu14.04安装国际版QQ备忘
- Training--安装动作栏(Action Bar)
- ubuntu14.04 安装scala详细教程
- spark的action和transformations汇集
- spark学习-24-Spark算子Transformations和Action使用大全(Action章)
- SSIS中的容器和数据流—数据转换(Transformations)
- Spark转换(transform)与动作(action)一览
- 动作视图和动作提供器(Action Views and Action Providers)
- ubuntu14 安装scala详细教程
- Form表单的动作属性(Action)和确认按钮
- 显示和隐藏动作栏(Action Bar)
- coco2dx-动作(Action)原理
- Struts(7)Action动作
- 我所理解的"测试"工作
- jquery获取table中数据
- Samples
- GCD浅析
- 安卓include引用同一个item进行不同赋值
- Scala安装(Ubuntu14.04)、转换(transformations)和动作(action)备忘
- Angular 初学者的推荐学习路径
- VueJs Ajax数据交互
- 详细配置maven+springmvc入门项目及会碰到的问题
- css单位介绍em ex ch rem vw vh vm cm mm in pt pc px
- Python中的 // 与 / 的区别
- The specified child already has a parent. You must call removeView().... 解决方法
- 【学术篇】一石三鸟的——洛谷2654——原核生物培养(石子合并果子)
- 关于日期格式转换控制问题