Spark 프로 그래 밍, RDD 기능 소개, RDD 요소 변환, RDD 요소 조작, DATAFRAME, SparkSQL
6152 단어 빅 데이터
spark driver worker ?SparkContext sc
rdd stage DAGSchedule
taskSet ? TaskSchedule
rdd (worker) ( ) map flatMap join( rdd ) groupByKey reduceByKey filter
rdd (driver) ( ) take collect reduce ...
-------------------------------------------------
etl: 。 :sql/ (scala)。
vi preS.py
from pyspark import SparkConf,SparkContext
# pyspark SparkConf( ),SparkContext(sc,driver work ) , SparkContext(sc) SparkConf
conf = SparkConf().setMaster('local[*]').setAppName('he')
#[*]
sc = SparkContext(conf=conf)
print(sc)
rdd = sc.textFile("/user/hadoop/datas.csv")
rdd = rdd.mapPartitions(lambda it :[x for x in it if not x == ''])
rdd = rdd.map(lambda x:x.split(','))
rdd = rdd.map(lambda x:((x[0],x[1]),x[2]))
rdd = rdd.reduceByKey(lambda x,y:x+y)
datas=rdd.collect()
for d in datas:
print(d)
spark-submit preS.py: spark-submit Job Driver Client
spark-submit preS.py , !
RDD :
1.
2.
3. RDD
4. RDD
5.RDD ( )
6. ,RDD
7.RDD , RDD API ( Scala) RDD
8. RDD : ( worker , driver )
RDD (2 ):
:
rdd = sc.parallelize([21,4,67,34]): python list rdd work hadoop
rdd.collect(): rdd driver Client
:
sc.textFile("/user/hadoop/datas.csv")
RDD (2 )
1. (Transformations) ( :map, filter) RDD, Transformations Lazy , , Actions 。Lazy Evaluation。
:map :
flatMap :
filter :
reduceByKey
groupByKey : key
combineByKey :3 (1,2,3) 2-1-3
union()
intersection()
subtract()
cartesian()
2. (Actions) ( :count, collect),Actions RDD 。Actions Spark 。 PYTHON list
:
take collect reduce top count first foreach
aggregate(a,b,c) : 3 : , ,
reduce :
countByValue : ,
foreach : , .driver ,worker
RDD cache( ) persist( ): !!
path='hdfs://quickstart.cloudera:8020/user/cloudera/recom/user_friends.csv'
rows = sc.textFile(path) rows.persist() # or rows. .cach
rows.count()
rows.count()
action rows.count() RDD
DataFrame: 。 SchemaRDD . SparkSQL RDD 。 SchemaRDD DataFrame
DataFrame(SchemaRDD) (4 )
1. sc.parallelize DataFrame
rdd=sc.parallelize([21,4,67,34])
df=rdd.toDF(schema=[‘ ’,’ ’,’ ’])
df.registerTempTable(" ")
mytabledf = spark.sql("sql ") # mytabledf
2. createDataFrame DataFrame
sqlContext = SQLContext(sc)
df = sqlContext.createDataFrame([Row(a=1, intlist=[1,2,3], mapfield={"a": "b"})])
3. json, parquet, AVRO CSV SchemaRDD DataFrame。
i: JSON
sqlContext = SQLContext(sc)
df = sqlContext.read.json("c:/temp/people.json")
ii: parquet
df=sqlContext.read.parquet("c:/temp/people.parquet")
4. PYTHON R DataFrame SPARK SchemaRDD
sqlContext = SQLContext(sc)
path='c:/temp/cs-training.csv'
pandas spark df
scorecard=pd.read_csv(path, header=None,names=’ , , ...’)
spDF= sqlContext.createDataFrame(scorecard)
spark df pandas DF
spDF.toPandas().head()
5.SparkSQL: SQL DataFrame,
allpeople = sqlContext.sql("SELECT * FROM people where id=4")
allpeople.show()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.