분류 전체보기
-
[스파크 완벽 가이드] Chapter 7 - 집계 연산 (1)Dev/Spark 2020. 10. 18. 02:07
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. * 내용이 너무 길어 나눠 게시합니다. 집계 연산에 대해 설명하는 장 집계: 무언가를 함께 모으는 행위 집계 함수: 키/그룹 지정 후 하나 이상의 컬럼을 변환하는 집계 함수, 여러 입력 값 -> 그룹별 결과 생성 Ex) 특정 그룹의 평균값 구하기 등의 수치형 데이터 요약 7.1 집계 함수 org.apache.spark.sql.functions 패키지에서 찾을 수 있음 사용 데이터 github.com/databricks/Spark-The-Definitive-Guide databricks/Spark-The-Definitive-Guide Spark: The Defini..
-
[스파크 완벽 가이드] Chapter 6 - 다양한 데이터 타입 다루기 (1)Dev/Spark 2020. 10. 16. 00:21
*해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. * 내용이 너무 길어 나눠 게시합니다. 표현식 생성 방법, 데이터 처리 방법에 대해 익힘 Booleans Numbers Strings Date, Timestamp Null Complex Types(Array, Map 등) 사용자 정의 함수(User Defined Function, UDF) 6.1 API 찾기 Spark -> 업데이트가 주기적으로 빨리 됨(현재 3.01) 주로 봐야할 부분 Dataset, Dataframe 메서드(DataFrameStatFunctions, DataFrameNaFunctions 등) Column 🗨참고용 Docs 페이지들 Spark Sc..
-
[스파크 완벽 가이드] Chapter 2 - 스파크 간단히 살펴보기Dev/Spark 2020. 10. 4. 17:17
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. 스파크의 기본 아키텍쳐 커져가는 데이터를 분석(프로세싱)하기 위해서는 더 많은 자원이 필요 더 많은 자원 -> Scale up, Scale out을 통해 이루어짐 Scale up: 하드웨어의 자원을 늘리는 것 Scale out: 하드웨어 자체를 늘리는 것 Spark: Cluster에서 데이터를 프로세싱하기 위한 프레임워크 클러스터 매니저: Cluster에서의 자원 할당을 관리하는 관리자 스파크 애플리케이션에서의 작업 과정 드라이버: main() 함수 프로세스 익스큐터: 드라이버 프로세스가 SparkContext, SparkSession에 할당한 작업 수행 클러스터..
-
2020-09-17 오늘의 일지Dev/개발일지 2020. 9. 17. 17:59
WebMvcConfigurer의 addResourceHandlers addResourceHandler는 요청하기 위한 식별자 addResourceLocations는 실제 파일의 경로 의 형식으로 지정한다. 예를 들어 /etc/img/126.jpg를 읽어오기 위해서 addResourceHandlers에 ("/image_view/**")라고 addResourceHandler("/image_view/**").addResourceLocations( "file:/etc/img/" ); 로 설정한 경우 jsp에서는 로만 적용한다면 이미지가 정상적으로 출력된다.
-
[MongoDB in Action] 6장 정리독서 2020. 9. 9. 07:12
Aggregation Framework 고급 쿼리 언어, 여러 Document의 데이터를 변환, 결합 -> 새로운 정보 생성 Example) 월별 매출, 제품별 매출, 사용자별 주문 합계 => SQL에서는 Group by, Join 등을 통해 얻는 결과들 6.1 집계 프레임워크 개요 집계 파이프라인 : 입력 도큐먼트 -> 출력 도큐먼트 사이의 작업들을 통칭(작업 1의 Output이 작업 2의 Input이 됨) 세부 작업 목록 $project 출력 도큐먼트 상에 배치할 필드 지정(projected) -> 다음 작업에서 사용할 필드들을 지정하는 작업 $match 처리될 도큐먼트 선택. find()와 유사 $limit 갯수 제한 $skip 건너 뛰는 갯수 선택 $unwind 배열의 확장(join) $group..
-
2020-09-08 오늘의 일지Dev/개발일지 2020. 9. 8. 15:21
mysql 쿼리를 작성하다 보니 불현듯 까먹을까봐 저장. limit의 경우 몇개까지를 제한한다의 의미도 있지만 파라메터를 두개 사용할 경우 앞의 숫자는 skip의 의미를, 뒤의 숫자는 제한의 의미를 갖게 된다. 예를 들어 select ~~~~ limit 10,10의 경우 모든 결과 셋이 나온 다음에 그 중에서 앞의 10개는 건너뛰고 10개를 출력하라는 의미가 된다. limit 10이라고 작성을 할 경우 앞의 0개를 건너뛰고(0이 생략된 것) 10개 제한으로 출력하라는 의미로 이해했다. 페이징 처리에서 이를 사용해야겠다.
-
[트리] 백준 트리 순회, 트리의 부모 찾기Dev/알고리즘 2020. 9. 8. 15:16
트리 순회(1991) https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net HashMap 구조로 데이터를 변환한 후, 차례로 전위, 중위, 후위 순회를 수행한 후 결과 StringBuffer를 출력했다. 전위, 중위, 후위의 차이는 해당 문자가 왼쪽 자식을 찾는 모든 과정 이전에 출력될 경우 전위, 왼쪽 자식을 찾는 모든 과정 이후 오른쪽 자식을 찾는 과정 이전에 출력될 경우 중위, 왼쪽 자식을 모두 찾고, 오른쪽 자식도 모두 찾은 이후 출력될..
-
[그래프] 백준 5214Dev/알고리즘 2020. 8. 27. 17:01
BFS를 사용해서 구현하되, 각 역간의 직선 연결로 할 시 java에서는 무조건 메모리 초과가 나게 되는 구조이다. C, C++에서는 최대한 심플하게 인접 리스트를 활용하면 가능할 것으로 보인다. 해결 방법은, 각 역간을 연결하는 정보(하이퍼튜브)를 따로 리스트를 만들어 관리하고 각 역은 해당 하이퍼튜브를 바라보는 방향으로 인접 리스트를 구현하고 Queue를 이용해 최종 역을 찾아가는 과정을 수행하면 되는데, 최종 결과 출력 시 하이퍼튜브에 방문했던 수는 제외하고 각 역 간을 방문했을 때의 숫자만을 가지고 최종 결과를 만들어야 한다. 하이퍼튜브 방문 횟수를 빼기 위해 애초에 count를 계산할 때 역->하이퍼튜브 방문이면 +를 하지 않고, 하이퍼튜브->역 방문일 경우 +하는 방향으로 계산했다. 큐에 모든..