eunhyeeechoi / Hadoop

0 stars 0 forks source link

<spark 를 이용해 oracle 데이터 집계> #2

Open eunhyeeechoi opened 4 years ago

eunhyeeechoi commented 4 years ago

<spark 를 이용해 oracle 데이터 집계>

  1. csv 파일 hdfs 업로드 후 spark 에 로드 mytext = sc.textFile("/user/myspark/reser.csv") res_df=spark.read.csv(mytext)

image oracle 내의 reservation 테이블을 csv 파일로 추출후 spark read 함수를 이용해 import 후의 모습

  1. schema 가 기본 스키마로 생성되어 컬럼이름을 통한 쿼리가 되지 않는 모습

    >>> res_df.printSchema()
    root
    |-- _c0: string (nullable = true)
    |-- _c1: string (nullable = true)
    |-- _c2: string (nullable = true)
    |-- _c3: string (nullable = true)
    |-- _c4: string (nullable = true)
    |-- _c5: string (nullable = true)
    |-- _c6: string (nullable = true)
    |-- _c7: string (nullable = true)
    |-- _c8: string (nullable = true)
    |-- _c9: string (nullable = true)
  2. load 옵션 지정 후 로드 res_df_2 = sqlContext.read.format("com.databricks.spark.csv").option("header","true").load("/user/myspark/reser.csv") image 데이터 질의 성공

  3. 컨셉별, 장소별 갯수가 가장 많은것을 질의하기 위해 groupby 사용 image

Originally posted by @eunhyeeechoi in https://github.com/eunhyeeechoi/Hadoop/issues/1#issuecomment-705417831

eunhyeeechoi commented 4 years ago
  1. PLACE 기준으로 CONCEPT(갯수) 내림차순으로 질의 res_df.groupBy("PLACE","CONCEPT").count().sort("PLACE","COUNT",ascending=False).show(n=60,truncate=False) image

  2. CONCEPT 기준으로 PLACE (갯수) 내림차순으로 질의 res_df.groupBy("CONCEPT","PLACE").count().sort("CONCEPT","COUNT",ascending=False).show(n=60,truncate=False) image