
spark
cloud-2014
这个作者很懒,什么都没留下…
展开
-
RDD基本转换操作(1)–map、flagMap、distinct
map将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。输入分区与输出分区一对一,即:有多少个输入分区,就有多少个输出分区。hadoop fs -cat /tmp/lxw1234/1.txthello worldhello sparkhello hive //读取HDFS文件到RDDscala> var data = sc.textFile("/tmp/lx转载 2016-09-14 15:08:48 · 1944 阅读 · 0 评论 -
RDD行动Action操作(2)–take、top、takeOrdered
takedef take(num: Int): Array[T]take用于获取RDD中从0到num-1下标的元素,不排序。scala> var rdd1 = sc.makeRDD(Seq(10, 4, 2, 12, 3))rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[40] at makeRDD at转载 2016-09-14 15:39:22 · 804 阅读 · 0 评论 -
RDD行动Action操作(3)–aggregate、fold、lookup
aggregatedef aggregate[U](zeroValue: U)(seqOp: (U, T) ⇒ U, combOp: (U, U) ⇒ U)(implicit arg0: ClassTag[U]): Uaggregate用户聚合RDD中的元素,先使用seqOp将RDD中每个分区中的T类型元素聚合成U类型,再使用combOp将之前每个分区聚合后的U类型聚合成U类型,特转载 2016-09-14 15:40:12 · 360 阅读 · 0 评论 -
RDD行动Action操作(4)–countByKey、foreach、foreachPartition、sortBy
countByKeydef countByKey(): Map[K, Long]countByKey用于统计RDD[K,V]中每个K的数量。scala> var rdd1 = sc.makeRDD(Array(("A",0),("A",2),("B",1),("B",2),("B",3)))rdd1: org.apache.spark.rdd.RDD[(String, Int)转载 2016-09-14 15:40:56 · 613 阅读 · 0 评论 -
RDD行动Action操作(5)–saveAsTextFile、saveAsSequenceFile、saveAsObjectFile
saveAsTextFiledef saveAsTextFile(path: String): Unitdef saveAsTextFile(path: String, codec: Class[_ saveAsTextFile用于将RDD以文本文件的格式存储到文件系统中。codec参数可以指定压缩的类名。var rdd1 = sc.makeRDD(1 to 1转载 2016-09-14 15:42:01 · 1413 阅读 · 0 评论 -
RDD行动Action操作(6)–saveAsHadoopFile、saveAsHadoopDataset
saveAsHadoopFiledef saveAsHadoopFile(path: String, keyClass: Class[_], valueClass: Class[_], outputFormatClass: Class[_ def saveAsHadoopFile(path: String, keyClass: Class[_], valueClass: Class转载 2016-09-14 15:43:03 · 1851 阅读 · 0 评论 -
Spark 1.6.1分布式集群环境搭建
一、软件准备scala-2.11.8.tgzspark-1.6.1-bin-hadoop2.6.tgz二、Scala 安装1、master 机器(1)下载 scala-2.11.8.tgz, 解压到 /opt 目录下,即: /opt/scala-2.11.8。(2)修改 scala-2.11.8 目录所属用户和用户组。转载 2016-09-08 10:36:49 · 440 阅读 · 0 评论 -
eclipse开发spark程序配置本地运行
今天简单讲一下在local模式下用eclipse开发一个简单的spark应用程序,并在本地运行测试。 1.下载最新版的scala for eclipse版本,选择windows 64位,下载网址:http://scala-ide.org/download/sdk.html 下载好后解压到D盘,打开并选择工作空间。 然后创建一个测试项目ScalaDev,右击项目选择Pr转载 2016-09-08 14:10:03 · 7387 阅读 · 0 评论 -
eclipse上运行spark程序
首先,你得把你要处理的文件上传带HDFS,怎么上传文件网上都有教程,此处不再赘述。项目结构图 源代码import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._import org.apache.spark.SparkConfobject Simple转载 2016-09-08 14:37:35 · 1147 阅读 · 0 评论 -
Spark笔记:RDD基本操作(一)
本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的。本文所有示例代码都是使用scala语言编写的。 Spark里的计算都是操作RDD进行,那么学习RDD的第一个问题就是如何构建RD转载 2016-09-08 15:41:28 · 1503 阅读 · 0 评论 -
Spark 使用sortByKey进行二次排序
Spark的sortByKey API允许自定义排序规则,这样就可以进行自定义的二次排序、三次排序等等。 先来看一下sortByKey的源码实现:def sortByKey(): JavaPairRDD[K, V] = sortByKey(true)def sortByKey(ascending: Boolean): JavaPairRDD[K, V] = { val comp转载 2016-09-27 09:30:10 · 1278 阅读 · 0 评论 -
RDD行动Action操作(1)–first、count、reduce、collect
firstdef first(): Tfirst返回RDD中的第一个元素,不排序。scala> var rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)rdd1: org.apache.spark.rdd.RDD[(String, String)] = ParallelCollectionRDD[33] at m转载 2016-09-14 15:38:42 · 527 阅读 · 0 评论 -
RDD键值转换操作(5)–leftOuterJoin、rightOuterJoin、subtractByKey
leftOuterJoindef leftOuterJoin[W](other: RDD[(K, W)]): RDD[(K, (V, Option[W]))]def leftOuterJoin[W](other: RDD[(K, W)], numPartitions: Int): RDD[(K, (V, Option[W]))]def leftOuterJoin[W](ot转载 2016-09-14 15:37:50 · 933 阅读 · 0 评论 -
RDD键值转换操作(4)–cogroup、join
cogroup##参数为1个RDDdef cogroup[W](other: RDD[(K, W)]): RDD[(K, (Iterable[V], Iterable[W]))]def cogroup[W](other: RDD[(K, W)], numPartitions: Int): RDD[(K, (Iterable[V], Iterable[W]))]def转载 2016-09-14 15:37:08 · 473 阅读 · 0 评论 -
RDD创建操作
从集合创建RDDparallelizedef parallelize[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit arg0: ClassTag[T]): RDD[T]从一个Seq集合创建RDD。参数1:Seq集合,必须。参数2:分区数,默认为该Application分配到的资源的转载 2016-09-14 15:17:27 · 458 阅读 · 0 评论 -
RDD基本转换操作(2)–coalesce、repartition
coalescedef coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] = null): RDD[T]该函数用于将RDD进行重分区,使用HashPartitioner。第一个参数为重分区的数目,第二个为是否进行shuffle,默认为false;以下面的例转载 2016-09-14 15:22:17 · 272 阅读 · 0 评论 -
RDD基本转换操作(3)–randomSplit、glom
randomSplitdef randomSplit(weights: Array[Double], seed: Long = Utils.random.nextLong): Array[RDD[T]]该函数根据weights权重,将一个RDD切分成多个RDD。该权重参数为一个Double数组第二个参数为random的种子,基本可忽略。scala> var rd转载 2016-09-14 15:27:23 · 935 阅读 · 0 评论 -
RDD基本转换操作(4)–union、intersection、subtract
uniondef union(other: RDD[T]): RDD[T]该函数比较简单,就是将两个RDD进行合并,不去重。 scala> var rdd1 = sc.makeRDD(1 to 2,1)rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[45] at makeRDD at :21 scala>转载 2016-09-14 15:28:20 · 633 阅读 · 0 评论 -
RDD基本转换操作(5)–mapPartitions、mapPartitionsWithIndex
mapPartitionsdef mapPartitions[U](f: (Iterator[T]) => Iterator[U], preservesPartitioning: Boolean = false)(implicit arg0: ClassTag[U]): RDD[U]该函数和map函数类似,只不过映射函数的参数由RDD中的每一个元素变成了RDD中每一个分区的迭代器。转载 2016-09-14 15:29:23 · 551 阅读 · 0 评论 -
RDD基本转换操作(6)–zip、zipPartitions
zipdef zip[U](other: RDD[U])(implicit arg0: ClassTag[U]): RDD[(T, U)]zip函数用于将两个RDD组合成Key/Value形式的RDD,这里默认两个RDD的partition数量以及元素数量都相同,否则会抛出异常。scala> var rdd1 = sc.makeRDD(1 to 10,2)rdd1: org.a转载 2016-09-14 15:30:19 · 1102 阅读 · 0 评论 -
RDD基本转换操作(7)–zipWithIndex、zipWithUniqueId
zipWithIndexdef zipWithIndex(): RDD[(T, Long)]该函数将RDD中的元素和这个元素在RDD中的ID(索引号)组合成键/值对。scala> var rdd2 = sc.makeRDD(Seq("A","B","R","D","F"),2)rdd2: org.apache.spark.rdd.RDD[String] = ParallelCo转载 2016-09-14 15:31:16 · 4124 阅读 · 0 评论 -
统计RDD分区中的元素及数量
Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候,则默认为该程序所分配到的资源的CPU核数,如果是从HDFS文件创建,默认为文件的Block数。可以利用RDD的mapPartitionsWithIndex方法来统计每个分区中的元素及数量。关于mapPartitionsWithIndex的介绍可以参考 mapParti转载 2016-09-14 15:33:18 · 3316 阅读 · 0 评论 -
RDD键值转换操作(1)–partitionBy、mapValues、flatMapValues
partitionBydef partitionBy(partitioner: Partitioner): RDD[(K, V)]该函数根据partitioner函数生成新的ShuffleRDD,将原RDD重新分区。scala> var rdd1 = sc.makeRDD(Array((1,"A"),(2,"B"),(3,"C"),(4,"D")),2)rdd1: org.ap转载 2016-09-14 15:34:23 · 733 阅读 · 0 评论 -
RDD键值转换操作(2)–combineByKey、foldByKey
combineByKeydef combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) => C, mergeCombiners: (C, C) => C): RDD[(K, C)]def combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) =>转载 2016-09-14 15:35:30 · 860 阅读 · 0 评论 -
RDD键值转换操作(3)–groupByKey、reduceByKey、reduceByKeyLocally
groupByKeydef groupByKey(): RDD[(K, Iterable[V])]def groupByKey(numPartitions: Int): RDD[(K, Iterable[V])]def groupByKey(partitioner: Partitioner): RDD[(K, Iterable[V])]该函数用于将RDD[K,V]中转载 2016-09-14 15:36:23 · 507 阅读 · 0 评论 -
CentOS6.5安装hive-2.1.0
环境:CentOS6.5Hadoop-2.6.4,配置两个节点:master、slave1mysql-server过程:下载、解压hive-2.1.0到/usr/hadoop-2.6.4/thirdparty$ tar zxvf apache-hive-2.1.0-bin.tar.gz设置 Hive环境变量编辑 /etc/转载 2016-11-03 16:04:33 · 1310 阅读 · 0 评论