스파크완벽가이드 - 15장 클러스터에서 스파크 실행
·
DataPipeline/Spark
15.1 스파크 애플리케이션의 아키텍처스파크 드라이버- 드라이버는 스파크 애플리케이션의 실행을 제어하고 상태 정보(익스큐터 상태 및 태스크)를 유지- 물리적 컴퓨팅 자원 확보- 클러스터 매니저와 통신 스파크 익스큐터- 익스큐터는 스파크 드라이버가 할당한 태스크를 수행하는 프로세스- 태스크를 수행하고 태스크의 상태를(성공 및 실패)를 드라이버에 보고 클러스터 매니저- 클러스터 매니저는 스파크 애플리케이션을 실행할 클러스터 머신을 유지- 스파크가 실행될 때 클러스터 매니저에 자원할당을 요청- 클러스터 매니저는 '마스터'와 '워커'의 개념이 있음- 개별 워커노드를 실행하는 데몬 프로세스- 스파크가 지원하는 클러스터 매니저standalone cluster managerapache mesoshadoop yarn ..
[HackerRank] Caesar Cipher (시저암호) Strings 문제
·
Programming/CodingTest
문제시저 암호(Caesar Cipher)는 암호화 기술 중 하나로,문자열의 각 문자를 알파벳 내에서 일정한 거리만큼 이동시켜 암호화하는 방식입니다.예를 들어, 'A'에서 두 칸 오른쪽으로 이동하면 'C'가 되고, 'Z'는 'B'가 됩니다.이 문제에서는 주어진 문자열을 시저 암호화하여 암호화된 문자열을 출력해야 합니다. 주어진 문자열에 대해:각 문자를 K만큼 오른쪽으로 이동시켜 암호화합니다.K가 26을 초과하는 경우, 알파벳 수(26)로 나누어 K를 단축시킬 수 있습니다.소문자, 대문자, 숫자, 기호는 각각 별도로 처리됩니다.소문자는 소문자 범위 내에서, 대문자는 대문자 범위 내에서 이동합니다.알파벳 이외의 문자는 그대로 유지됩니다. 입력11middle-Outz2 출력okffng-Qwvb 문제 해결 전략각..
[HackerRank] Forming a Magic Square (마방진) Implementation 문제
·
Programming/CodingTest
문제마법의 정사각형(Magic Square)은 3x3 크기의 정사각형 그리드로 구성되며,숫자 1부터 9까지의 모든 숫자가 한 번씩 나타나고, 각 행(row), 열(column),그리고 대각선(diagonal)의 숫자 합이 모두 동일한 값을 가집니다.주어진 3x3 숫자 그리드를 최소한의 비용으로 마법의 정사각형으로 변환해야 합니다. 변환 비용은 각 숫자를 다른 숫자로 바꾸는 데 드는 비용이며, 이 비용은 두 숫자의 차이만큼 증가합니다.예를 들어:4 8 24 5 76 1 6이 그리드를 마법의 정사각형으로 바꾸는 최소 비용을 계산해야 합니다. 입력:3x3 크기의 정수 그리드가 주어집니다. 출력:마법의 정사각형으로 변환하기 위한 최소 비용을 출력합니다. 문제 해결 전략이 문제를 해결하기 위해 먼저 가능한 모든 ..
Python - Product vs Permutations vs Combinations
·
Programming/Python
itertools 모듈은 product(곱집합), permutations(순열), combinations(조합)의반복 가능한 객체를 생성하는 데 유용한 함수들을 제공합니다. 이 모듈의 함수들은 모두 리스트나 튜플 같은 iterable 객체의 요소들을 다양한 방식으로 조합해줍니다.각각의 함수가 어떻게 다른지 살펴보겠습니다. 1. itertools.productCartesian product(곱집합)를 계산합니다.입력된 모든 iterable 객체의 가능한 모든 조합을 생성합니다.각 iterable의 요소가 주어진 순서대로 선택하므로 순서를 보장합니다.from itertools import productresult = list(product([1, 2, 1], ['a', 'b']))print(result)# ..
[HackerRank] Electronics Shop (전자제품상점) Implementation 문제
·
Programming/CodingTest
문제당신은 새 키보드와 USB 드라이브를 구매하려고 합니다.가게에서 각 제품에 대한 다양한 가격이 주어집니다.당신은 제한된 예산 내에서 하나의 키보드와 하나의 USB 드라이브를 구입하려고 합니다.가능한 한 많은 돈을 쓰고 싶지만, 예산을 초과할 수는 없습니다.예산 내에서 키보드와 USB 드라이브를 구입할 수 있는 최대 금액을 계산하세요. 입력값:첫 번째 줄: 예산을 나타내는 정수 b.두 번째 줄: 키보드의 가격 목록을 나타내는 정수 배열 keyboards.세 번째 줄: USB 드라이브의 가격 목록을 나타내는 정수 배열 drives. 출력값:예산 내에서 키보드와 USB 드라이브를 함께 구매할 수 있는 최대 금액을 출력합니다. 만약 어떤 것도 구매할 수 없다면 -1을 출력합니다. 예시:입력10[3, 1][5..
[HackerRank] Sales by Match (양말 판매상) Implementation 문제
·
Programming/CodingTest
문제 :당신에게는 다양한 색상의 양말이 무작위로 섞인 큰 양말 더미가 있습니다. 각 양말의 색상은 정수로 표시되며, 배열로 제공됩니다. 이 배열에서 각 색상의 양말이 몇 개씩 있는지 파악한 후, 같은 색상의 양말이 몇 쌍(pair)이나 만들어질 수 있는지를 계산해야 합니다. 입력값:첫 번째 줄에는 양말의 총 개수를 나타내는 정수 n이 주어집니다.두 번째 줄에는 각 양말의 색상을 나타내는 n개의 정수 배열 ar이 주어집니다. 각 정수는 특정 색상을 나타냅니다. 출력값:같은 색상의 양말이 몇 쌍이나 만들어질 수 있는지를 나타내는 정수 값을 출력합니다. 예시:입력:910 20 20 10 10 30 50 10 20출력:3  설명:위의 예시에서 10 색상의 양말은 4개가 있으며, 2개의 페어를 만들 수 있습니다...
스파크완벽가이드 - 14장 분산형 공유 변수
·
DataPipeline/Spark
스파크 저수준 API는 RDD외에도 분산형 공유 변수가 있음분산형 공유 변수는 두개의 타입이 존재브로드캐스크 변수어큐뮬레이터 14.1 브로드캐스트 변수- 모든 워커 노드에 큰 값을 저장하여 재전송 없이 많은 스파크 액션을 재사용- 브로드캐스트 변수는 클러스터의 모든 워커 노드에 큰 데이터를 효율적으로 공유하기 위해 사용- 일반적으로 읽기 전용 변수로 사용되며, 각 노드에 한 번만 전송되므로 네트워크 비용을 절감- 브로드캐스트할 구조체 변수 생성supplementalData = { "Spark":1000, "Definitive":200, "Big":-300, "Simple":100}suppBroadcast = spark.sparkContext.broadcast..
스파크완벽가이드 - 13장 RDD 고급개념
·
DataPipeline/Spark
핵심주제- 집계와 키-값 형태의 RDD- 사용자 정의 파티셔닝- RDD 조인  13.1 키-값 형태의 기초words.map(lambda word: (word.lower(), 1)).take(5)>>> [('spark', 1), ('the', 1), ('definitive', 1), ('guide', 1), (':', 1)]- [1] key-value 구조로 만들기 ( 튜플 )keyword = words.keyBy(lambda word: word.lower()[0])>>> [('s', 'Spark'), ('t', 'The'), ('d', 'Definitive'), ('g', 'Guide'), (':', ':')]- [2] key, value 값 추출하기keyword.keys().collect()keywor..
wave35
아그거뭐였지?