Computer Science/Big data

4일차

해피단무지 2018. 11. 2. 09:20

* Scala study 사이트

exercism.io

* 모든 언어의 코드 비교

http://rosettacode.org/wiki/Rosetta_Code


*암바리

http://localhost:8080/#/main/dashboard/metrics

*ssh

http://localhost:4200/

*zeppelin

http://localhost:9995/#/


-리뷰- day3 chapter04. spark_overview

  • R: 사용층이 두껍다 / 단-오래된 언어라서 standalone(하나의 피씨에서)이라서 대용량을 하기엔 애매하다
    • Dataframe으로 데이터 
    • MS, Oracle, Pivotal(Bigdata 안하겠다고 선언), Spark, SparkR
  • Python
  • RDD
    • 메모리를 효율적으로 사용하기 위함
    • lineage라 rage의 개념을 사용해서 가능한한 RDD를 메모리에 적게 올리는 방식 - action이 동작할때만 메모리에 올린다
    • immutable: 수정 될 때마다 새로운 것을 만들어 내는 방식
  • lazy
    • 가능한한 미루고 미루다가 꼭 필요한 역할말 수행하는 것
  • MAPPARTITIONS
  • x= sc.parallelize([1,2,3], 2)

    deff(iterator):yield sum(iterator); yield 42

    y= x.mapPartitions(f)

    # glom() flattens elements on the same partition

    print(x.glom().collect())

    print(y.glom().collect())

    -결과-

    x: [[1]. [2.3]]

    y: [[1, 42], [5, 42]]

    • parallelize: RDD를 만드는 명시적 코드인데 보통은 스팍이 알아서 rdd를 나누는데 뒤에 숫자를 넣어주면 몇개의 파티션으로 쪼갤건지를 정해준다
      • x= sc.parallelize([1,2,3], 2)
  • Spark 공개강의
    • Stanford CS347 Guest Lecture
  • SPark은 MR은 아니고 MR이 하는것이 똑같은 기능을 더 잘하는것
    • MR은 이 사이사이가 file로 채우고 있다면 Spark은 memory 가 채운다
    •  

      file.map(record => (record.type, 1))

      .reduceByKey((x, y) => x + y)

      .filter((type, count) => count > 10) 


  • part-00000/part-00001: 최종 RDD 개수
  • foreach 표기 모두 동일!
    • a.foreach(x=>println(x))
    • a.foreach(_=>println(_))
    • a.foreach(print)
  • spark api reduce left fold

Chapter 07.sparkDF (day3)
  • Hive도 spark base로 가고있음