Apache Spark入門攻略(9)_第1頁
Apache Spark入門攻略(9)_第2頁
Apache Spark入門攻略(9)_第3頁
Apache Spark入門攻略(9)_第4頁
Apache Spark入門攻略(9)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、成本,這個(gè)look-up table就可以作為Broadcast Variables。 akuntamukkalalocalhost/temp$ cat packagesToShip.txt ground express media priority priority ground express media scala val map = sc.parallelize(Seq(“ground”,1),(“med”,2), (“priority”,5),(“express”,10).collect().toMap map: scala.collection.immutable.MapStrin

2、g,Int = Map(ground - 1, media - 2, priority - 5, express - 10) scala val bcMailRates = sc.broadcast(map) 上述命令中,我們建立了一個(gè)broadcast variable,基于服務(wù)類別成本的map。 scala val pts = sc.textFile(“/Users/akuntamukkala/temp/packagesToShip.txt”) 在上述命令中,我們通過broadcast variable的mailing rates來計(jì)算運(yùn)輸成本。 scala pts.map(shipTyp

3、e=(shipType,1).reduceByKey(_+_). mapcase (shipType,nPackages)=(shipType,nPackages*bcMailRates. value(shipType).collect() 通過上述命令,我們使用accumulator來累加所有運(yùn)輸?shù)某杀?。詳?xì)信息可通過下面的PDF查看/wp-content/uploads/2012/06/matei-zaharia-amp-camp-2012-advanced-spark.pdf。 八、Spark SQL 通過Spark Engine,Sp

4、ark SQL提供了一個(gè)便捷的途徑來進(jìn)行交互式分析,使用一個(gè)被稱為SchemaRDD類型的RDD。SchemaRDD可以通過已有RDDs建立,或者其他外部數(shù)據(jù)格式,比如Parquet files、JSON數(shù)據(jù),或者在Hive上運(yùn)行HQL。SchemaRDD非常類似于RDBMS中的表格。一旦數(shù)據(jù)被導(dǎo)入SchemaRDD,Spark引擎就可以對它進(jìn)行批或流處理。Spark SQL提供了兩種類型的ContextsSQLContext和HiveContext,擴(kuò)展了SparkContext的功能。 SparkContext提供了到簡單SQL parser的訪問,而HiveContext則提供了到Hiv

5、eQL parser的訪問。HiveContext允許企業(yè)利用已有的Hive基礎(chǔ)設(shè)施。 這里看一個(gè)簡單的SQLContext示例。 下面文本中的用戶數(shù)據(jù)通過“|”來分割。 John Smith|38|M|201 East Heading Way #2203,Irving, TX,75063 Liana Dole|22|F|1023 West Feeder Rd, Plano,TX,75093 Craig Wolf|34|M|75942 Border Trail,Fort Worth,TX,7jumped over the lazy dogand went away成本,這個(gè)look-up ta

6、ble就可以作為Broadcast Variables。 akuntamukkalalocalhost/temp$ cat packagesToShip.txt ground express media priority priority ground express media scala val map = sc.parallelize(Seq(“ground”,1),(“med”,2), (“priority”,5),(“express”,10).collect().toMap map: scala.collection.immutable.MapString,Int = Map(gro

7、und - 1, media - 2, priority - 5, express - 10) scala val bcMailRates = sc.broadcast(map) 上述命令中,我們建立了一個(gè)broadcast variable,基于服務(wù)類別成本的map。 scala val pts = sc.textFile(“/Users/akuntamukkala/temp/packagesToShip.txt”) 在上述命令中,我們通過broadcast variable的mailing rates來計(jì)算運(yùn)輸成本。 scala pts.map(shipType=(shipType,1).

8、reduceByKey(_+_). mapcase (shipType,nPackages)=(shipType,nPackages*bcMailRates. value(shipType).collect() 通過上述命令,我們使用accumulator來累加所有運(yùn)輸?shù)某杀?。詳?xì)信息可通過下面的PDF查看/wp-content/uploads/2012/06/matei-zaharia-amp-camp-2012-advanced-spark.pdf。 八、Spark SQL 通過Spark Engine,Spark SQL提供了一個(gè)便捷的

9、途徑來進(jìn)行交互式分析,使用一個(gè)被稱為SchemaRDD類型的RDD。SchemaRDD可以通過已有RDDs建立,或者其他外部數(shù)據(jù)格式,比如Parquet files、JSON數(shù)據(jù),或者在Hive上運(yùn)行HQL。SchemaRDD非常類似于RDBMS中的表格。一旦數(shù)據(jù)被導(dǎo)入SchemaRDD,Spark引擎就可以對它進(jìn)行批或流處理。Spark SQL提供了兩種類型的ContextsSQLContext和HiveContext,擴(kuò)展了SparkContext的功能。 SparkContext提供了到簡單SQL parser的訪問,而HiveContext則提供了到HiveQL parser的訪問。H

10、iveContext允許企業(yè)利用已有的Hive基礎(chǔ)設(shè)施。 這里看一個(gè)簡單的SQLContext示例。 下面文本中的用戶數(shù)據(jù)通過“|”來分割。 John Smith|38|M|201 East Heading Way #2203,Irving, TX,75063 Liana Dole|22|F|1023 West Feeder Rd, Plano,TX,75093 Craig Wolf|34|M|75942 Border Trail,Fort Worth,TX,7成本,這個(gè)look-up table就可以作為Broadcast Variables。 akuntamukkalalocalhost/

11、temp$ cat packagesToShip.txt ground express media priority priority ground express media scala val map = sc.parallelize(Seq(“ground”,1),(“med”,2), (“priority”,5),(“express”,10).collect().toMap map: scala.collection.immutable.MapString,Int = Map(ground - 1, media - 2, priority - 5, express - 10) scal

12、a val bcMailRates = sc.broadcast(map) 上述命令中,我們建立了一個(gè)broadcast variable,基于服務(wù)類別成本的map。 scala val pts = sc.textFile(“/Users/akuntamukkala/temp/packagesToShip.txt”) 在上述命令中,我們通過broadcast variable的mailing rates來計(jì)算運(yùn)輸成本。 scala pts.map(shipType=(shipType,1).reduceByKey(_+_). mapcase (shipType,nPackages)=(ship

13、Type,nPackages*bcMailRates. value(shipType).collect() 通過上述命令,我們使用accumulator來累加所有運(yùn)輸?shù)某杀?。詳?xì)信息可通過下面的PDF查看/wp-content/uploads/2012/06/matei-zaharia-amp-camp-2012-advanced-spark.pdf。 八、Spark SQL 通過Spark Engine,Spark SQL提供了一個(gè)便捷的途徑來進(jìn)行交互式分析,使用一個(gè)被稱為SchemaRDD類型的RDD。SchemaRDD可以通過已有RDD

14、s建立,或者其他外部數(shù)據(jù)格式,比如Parquet files、JSON數(shù)據(jù),或者在Hive上運(yùn)行HQL。SchemaRDD非常類似于RDBMS中的表格。一旦數(shù)據(jù)被導(dǎo)入SchemaRDD,Spark引擎就可以對它進(jìn)行批或流處理。Spark SQL提供了兩種類型的ContextsSQLContext和HiveContext,擴(kuò)展了SparkContext的功能。 SparkContext提供了到簡單SQL parser的訪問,而HiveContext則提供了到HiveQL parser的訪問。HiveContext允許企業(yè)利用已有的Hive基礎(chǔ)設(shè)施。 這里看一個(gè)簡單的SQLContext示例。 下

15、面文本中的用戶數(shù)據(jù)通過“|”來分割。 John Smith|38|M|201 East Heading Way #2203,Irving, TX,75063 Liana Dole|22|F|1023 West Feeder Rd, Plano,TX,75093 Craig Wolf|34|M|75942 Border Trail,Fort Worth,TX,7For in that sleep of death what dreams may come成本,這個(gè)look-up table就可以作為Broadcast Variables。 akuntamukkalalocalhost/temp$

16、 cat packagesToShip.txt ground express media priority priority ground express media scala val map = sc.parallelize(Seq(“ground”,1),(“med”,2), (“priority”,5),(“express”,10).collect().toMap map: scala.collection.immutable.MapString,Int = Map(ground - 1, media - 2, priority - 5, express - 10) scala val

17、 bcMailRates = sc.broadcast(map) 上述命令中,我們建立了一個(gè)broadcast variable,基于服務(wù)類別成本的map。 scala val pts = sc.textFile(“/Users/akuntamukkala/temp/packagesToShip.txt”) 在上述命令中,我們通過broadcast variable的mailing rates來計(jì)算運(yùn)輸成本。 scala pts.map(shipType=(shipType,1).reduceByKey(_+_). mapcase (shipType,nPackages)=(shipType,

18、nPackages*bcMailRates. value(shipType).collect() 通過上述命令,我們使用accumulator來累加所有運(yùn)輸?shù)某杀?。詳?xì)信息可通過下面的PDF查看/wp-content/uploads/2012/06/matei-zaharia-amp-camp-2012-advanced-spark.pdf。 八、Spark SQL 通過Spark Engine,Spark SQL提供了一個(gè)便捷的途徑來進(jìn)行交互式分析,使用一個(gè)被稱為SchemaRDD類型的RDD。SchemaRDD可以通過已有RDDs建立,或

19、者其他外部數(shù)據(jù)格式,比如Parquet files、JSON數(shù)據(jù),或者在Hive上運(yùn)行HQL。SchemaRDD非常類似于RDBMS中的表格。一旦數(shù)據(jù)被導(dǎo)入SchemaRDD,Spark引擎就可以對它進(jìn)行批或流處理。Spark SQL提供了兩種類型的ContextsSQLContext和HiveContext,擴(kuò)展了SparkContext的功能。 SparkContext提供了到簡單SQL parser的訪問,而HiveContext則提供了到HiveQL parser的訪問。HiveContext允許企業(yè)利用已有的Hive基礎(chǔ)設(shè)施。 這里看一個(gè)簡單的SQLContext示例。 下面文本中的

20、用戶數(shù)據(jù)通過“|”來分割。 John Smith|38|M|201 East Heading Way #2203,Irving, TX,75063 Liana Dole|22|F|1023 West Feeder Rd, Plano,TX,75093 Craig Wolf|34|M|75942 Border Trail,Fort Worth,TX,7成本,這個(gè)look-up table就可以作為Broadcast Variables。 akuntamukkalalocalhost/temp$ cat packagesToShip.txt ground express media priorit

21、y priority ground express media scala val map = sc.parallelize(Seq(“ground”,1),(“med”,2), (“priority”,5),(“express”,10).collect().toMap map: scala.collection.immutable.MapString,Int = Map(ground - 1, media - 2, priority - 5, express - 10) scala val bcMailRates = sc.broadcast(map) 上述命令中,我們建立了一個(gè)broadc

22、ast variable,基于服務(wù)類別成本的map。 scala val pts = sc.textFile(“/Users/akuntamukkala/temp/packagesToShip.txt”) 在上述命令中,我們通過broadcast variable的mailing rates來計(jì)算運(yùn)輸成本。 scala pts.map(shipType=(shipType,1).reduceByKey(_+_). mapcase (shipType,nPackages)=(shipType,nPackages*bcMailRates. value(shipType).collect() 通過上述命令,我們使用accumulator來累加所有運(yùn)輸?shù)某杀?。詳?xì)信息可通過下面的PDF查看http:/ampcamp.berkele

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論