一级做c爱片的网站,国外租用服务器的平台,wordpress站点地址修改,什么是网络营销哪些行业spark的代码分为两种 本地代码在driver端直接解析执行没有后续 集群代码#xff0c;会在driver端进行解析#xff0c;然后让多个机器进行集群形式的执行计算
spark-shell --master spark://nn1:7077 --executor-cores 2 --executor-memory 2G
sc.textFile(/home/ha…spark的代码分为两种 本地代码在driver端直接解析执行没有后续 集群代码会在driver端进行解析然后让多个机器进行集群形式的执行计算
spark-shell --master spark://nn1:7077 --executor-cores 2 --executor-memory 2G
sc.textFile(/home/hadoop/a.txt)
org.apache.spark.rdd.RDD[String] /home/hadoop/a.txt MapPartitionsRDD[1] at textFile at
rdd弹性分布式数据集合
如果是sc调用的方法会在集群中执行rdd调用的方法也会集群执行
sc.textFile(/home/hadoop/a.txt)
不是单机代码但是文件不能再某一个机器上因为这个命令所有的机器都会执行。
这个路径一定要放在hdfs中
问题第一行代码就读取了数据为什么第一行没有出现错误
spark中的方法[算子]它是分为两种
转换类算子定义逻辑并且调用完毕以后具有返回值的调用算子以后是不是返回rdd行动类算子触发计算并且没有rdd的返回 代码的整体逻辑是先使用转换类算子定义逻辑但是不执行一旦使用action算子就会触发运算整体才执行这样的设计能够最大化的减少内存的使用。
所以上传hdfs文件读取
hdfs dfs -put /home/hadoop/a.txt /
spark-shell整体代码
scala //在spark-env.sh中配置HADOOP_CONF_DIR,默认会读取hdfs中的文件scala sc.textFile(/a.txt)
res6: org.apache.spark.rdd.RDD[String] /a.txt MapPartitionsRDD[5] at textFile at console:26
//放入数据到hdfs中
scala res6.flatMap(_.split( ))
res7: org.apache.spark.rdd.RDD[String] MapPartitionsRDD[6] at flatMap at console:27scala res7.map((_,1))
res8: org.apache.spark.rdd.RDD[(String, Int)] MapPartitionsRDD[7] at map at console:27scala res8.groupBy(_._1)
res9: org.apache.spark.rdd.RDD[(String, Iterable[(String, Int)])] ShuffledRDD[9] at groupBy at console:27
//分组完毕的返回值不再是map而是RDD[String,Iterable]
scala res9.mapValues(_.size)
res10: org.apache.spark.rdd.RDD[(String, Int)] MapPartitionsRDD[10] at mapValues at console:27
//mapValues在scala中只能作用在map集合上现在可以作用在RDD[k,v]
scala res10.foreach(println)
//打印数据的时候每个机器都有因为是分布式执行的