本篇內(nèi)容主要講解“spark中使用partitioner的實(shí)例代碼”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“spark中使用partitioner的實(shí)例代碼”吧!
在華龍等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都營(yíng)銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,華龍網(wǎng)站建設(shè)費(fèi)用合理。
import org.apache.spark._ import SparkContext._ import org.apache.spark.SparkConf import java.util.Date import java.text.SimpleDateFormat import org.apache.hadoop.io.Text import org.apache.hadoop.mapred.TextOutputFormat import org.apache.spark.Partitioner object partitioner { def main(args: Array[String]): Unit = { val time = new SimpleDateFormat("MMddHHmm").format(new Date()); val sparkConf = new SparkConf().setAppName("wordcount_"+time) sparkConf.set("mapreduce.framework.name", "yarn"); val sc =new SparkContext(sparkConf) val textFile = sc.textFile( "hdfs://namenode:9000/data/mapreduce/chuping/test_in_1/new5", 1).cache() val result = textFile.flatMap (line => line.split("\t") ). map (word => (word,1)).reduceByKey(new testPartitioner, _+_) result.saveAsTextFile("hdfs://namenode:9000/data/zk/test/partitioner"+time) sc.stop() } } class testPartitioner extends Partitioner{ val numPartitions = 3 def getPartition(key: Any)=1 指定到第幾個(gè)reduce }
這里的程序只是一個(gè)測(cè)試的程序,使用的也是一個(gè)count而已,無(wú)法體現(xiàn)partitioner的實(shí)際作用,但是在實(shí)際生產(chǎn)中,partitioner的運(yùn)用比比皆是
到此,相信大家對(duì)“spark中使用partitioner的實(shí)例代碼”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!