위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2018년/spark

    GraphX ~그래프 연산

    2018. 4. 3. 14:50

    by. 위지원

    연산을 위해 그래프를 하나 생성합니다.







    1. numEdges, numVertices 그래프의 Edge와 Vertex의 개수



    2. inDegrees, outDegrees, degrees

    Vertex를 기준으로 들어는 Edge의 개수 나가는 Edge의 개수, 들어오거나 나가는 Edge의 개수 (vertexID, 개수)



    3. vertices, edges, triplets 그래프에 포함 된 요소들의 정보를 출력

    * return 값은 각각 VertexRDD, EdgeRDD, RDD[EdgeTriplet]




    4. mapVertices(), mapEdges(), mapTriplets();mapTriplets의 결과는 파티션단위로 처리도 가능하다.연산의 수행결과는 새로운 그래프가 된다.

    2017/07/08 - [2017년여름/Spark] - 맵 리듀스란?


    4-1) map



    4-2) 출력: 기존에 P1,P2 였던게 위의 map연산에 의해 3=>P3, 4=>P4같은 형ㅇ태로 변환




    ↓ 요렇게 변화



    4-3) 파티션 단위의 처리

    아래에 보면 동일 파티션에 속하는 edge들을 Iterator형태로 전달받아서 한번에 처리.


    * GraphX는 대용량 그래프 분산 처리를 위해 vertex정보를 여러 파티션에 분할하는 저장법을 사용하기 때문에 Edge,EdgeTriplet의 경우 파티션 단위로 처리할 수 있으나 mapVertices의 경우는 파티션 단위로 처리할 수 없다.



    5. reverse() Edge의 srcID와 dstId를 반대로 바꾸어주는 연산




    6. subgraph() 조건식에 맞는 Vertex와 Edge로 구성된 새로운 그래프 구성

    아래 그림에서

    g6 : g1그래프에서 꼭짓점의 속성값이 P2인것

    g7 : g1그래프에서 꼭짓점의 속성값이 P4인것과 관련 없는



                                        



    저작자표시 (새창열림)

    '2018년 > spark' 카테고리의 다른 글

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable  (0) 2018.07.24
    오랜만에 만져보는 spark scala코드  (0) 2018.07.18
    GraphX ~그래프 생성까지  (0) 2018.04.02
    spark info좀 꺼보자  (0) 2018.02.28
    Spark Streaming,Structured Streaming  (0) 2018.02.27

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 2018.07.24
    • 오랜만에 만져보는 spark scala코드 2018.07.18
    • GraphX ~그래프 생성까지 2018.04.02
    • spark info좀 꺼보자 2018.02.28
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바