Spark Java 3

[Data Engineering] Spark - Matrix Computaton

📌 목차 Matrix Computaton 🍀 Matrix Computaton a 행렬의 행의 개수가 m개, 열의 개수가 k개이다. b 행렬의 행의 개수가 k개, 열의 개수가 n개이다. a*b = c일 때, c 행렬은 행의 개수가 m개, 열의 개수가 n개이다. a 행렬의 열의 개수 = b 행렬의 행의 개수 이어야 한다. a 행렬은 행을 선택하고, b 행렬은 열을 선택해서 a 행렬은 왼 -> 오, b 행렬은 위 -> 아래로 차례대로 곱해서 더한다. a 행렬의 첫 번째 행, b 행렬의 두 번째 열을 선택하여 결과 행렬 c 행렬의 첫 번째 행의 두 번째 열에 배치된다. -> 행렬 a의 행의 인덱스가 i, 행렬 b의 열의 인덱스가 j 이면 결과는 C의 i,j에 들어간다. 연산 순서는 두 단계이다. 첫 번째 단계를..

CS/Data Engineering 2023.06.09

[Data Engineering] Spark - Relational Processing

📌 목차 Relatoinal Processing 🍀 Relatoinal Processing Spark에서 join, left outer join, right outer join, full outer join이 어떻게 동작하고 코드로 어떻게 작성하는지 본다. 테이블의 데이터 사이즈가 굉장히 크고 분석하고자 하는 응용에 적합하다. 결제, 웹 브라우징에는 적합하지 않다. 큰 데이터를 한 번에 읽어서 원하는 정보를 가공하는 것에 적합한 것이다. 하둡으로 relational processing 하려면 map, partition, sort, .. , reduce를 하고 이 경우는 너무 복잡하고 번거롭다. 🔅 Join in Spark RDD에 기본적으로 join 연산을 제공한다. join(inner join), le..

CS/Data Engineering 2023.06.09

[Data Engineering] Spark

📌 목차 Introduction to Spark Spark WordCount 🍀 Introduction to Spark large scale data 처리를 위한 분석 엔진 Java, Scala, Python, R 등으로 Spark를 이용할 수 있다. 하둡을 백엔드 스토리지 시스템으로 사용할 수 있다. 🔅 Motivation MapReduce가 대형 데이터의 분석을 쉽게 만들어 준 것은 사실인데, 뭔가 좀 부족한 면이 있다. PageRank 처리 시 iteration을 돌고, matrix의 곱을 할 때도 두 단계의 MapReduce를 거쳐 결과를 얻어냈다. PageRank, Matix Mul과 같이 stage가 여러 개인 경우는 MapReduce로 작성하는 것이 쉽지 않다. 데이터 분석을 하고자 하는 쿼..

CS/Data Engineering 2023.06.08