《Spark MLlib 机器学习》第二章代码
2.1 Spark RDD 操作
import org.apache.log4j.{ Level, Logger }
import org.apache.spark.{ SparkConf, SparkContext }
import org.apache.spark.SparkContext._
object rdd_test01 {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("rdd_test01")
val sc = new SparkContext(conf)
Logger.getRootLogger.setLevel(Level.WARN)
// 2.1节
// 2.1.1 RDD 创建操作
val data = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
val distData = sc.parallelize(data, 3)
val distFile1 = sc.textFile("data.txt") // 本地当前目录下的文件
val distFile2 = sc.textFile("hdfs://192.168.1.100:9000/input/data.txt") // HDFS 文件
val distFile3 = sc.textFile("file:/input/data.txt") // 本地指定目录下的文件
val distFile4 = sc.textFile("/input/data.txt") // 本地指定目录下的文件
// 2.1.2 RDD 转换操作
val rdd1 = sc.parallelize(1 to 9, 3)
val rdd2 = rdd1.map(x => x * 2)
rdd2.collect
val rdd3 = rdd2.filter(x => x > 10)
rdd3.collect
val rdd4 = rdd3.flatMap(x => x to 20)
val rdd5 = rdd1.mapPartitions(myfunc)
rdd5.collect