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에 따라 라이센스가 부여됩니다.