스파크완벽가이드 - 10장 Spark SQL
·
DataPipeline/Spark
10장 Spark SQL- 시스템 함수 사용 및 사용자 정의 함수를 사용할 수 있음- 워크로드 최적화하기 위해 쿼리 실행 계획 분석 가능- DataFrame과 Dataset API와 통합되어있어 SQL 데이터 변환 시 동일한 실행 코드로 컴파일 됨  10.3 빅데이터 SQL: 스파크 SQL- 스파크 2.0 버전은 하이브의 HiveQL을 지원하는 자체 개발 SQL 파서가 포함되어 있음- 스파크 SQL은 OLTP가 아닌 OLAP로 동작하므로 매우 낮은 지연 시간이 필요한 쿼리 수행에는 맞지 않음- 스파크와 하이브와의 관계 ㄴ 하이브 메타스토어는 여러 세션에서 사용할 테이블 정보를 보관하고 있음 ㄴ 스파크 SQL은 하이브 메타스토어를 사용하므로 하이브와 연동 가능 ㄴ 하이브 메타스토어에 접속하려면 몇가지 설정..
[이코테] [3] DFS 와 BFS
·
Programming/CodingTest
그래프 탐색 알고리즘 DFS/BFS 탐색 알고리즘으로 많이 등장하는 유형스택 구현 예제stack = []stack.append(5)stack.append(4)stack.pop()stack.append(3)stack.append(2)stack.pop()print(stack)# >>> [5, 3]print(stack[::-1]) # 스택 역순# >>> [3, 5] 큐 구현 예제from collections import dequequeue = deque()queue.append(5)queue.append(4)queue.append(3)queue.popleft()queue.append(2)queue.append(1)queue.popleft()print(queue)# >>> deque([3, 2, 1])queue..
스파크완벽가이드 - 9장 데이터 소스
·
DataPipeline/Spark
스파크 핵심 외부 데이터소스- CSV- JSON- PARQUET- ORC- JDBC/ODBC- TEXT FILE- 파일 옵션    ㄴ https://spark.apache.org/docs/latest/sql-data-sources-csv.html CSV Files - Spark 3.5.1 Documentation spark.apache.org  9.1 데이터소스 API 구조읽기 모드데이터 읽기 핵심 구조- DataFrameReader.format(...).option("key","value").schema(...).load()- DataFrameReader는 SparkSession의 read 속성으로 접근읽기 모드 지정 값- 포맷- 스키마- 읽기 모드 ㄴ permissive : 오류레코드 null..
스파크완벽가이드 - 8장 조인
·
DataPipeline/Spark
8.1 조인 표현식- 스파크는 왼쪽과 오른쪽 데이터셋에 있는 하나 이상의 키값을 비교하여 데이터셋을 조인 함- 스파크는 일치하는 키가 없는 로우는 조인에 포함시키지 않음  8.2 조인 타입- inner join- outer join - left outer join - right outer join- left semi join- left anti join- natural join- cross join- 예제를 위한 Data 생성person = spark.createDataFrame([ (0, "Bill Chambers", 0, [100]), (1, "Matei Zaharia", 1, [500, 250, 100]), (2, "Michael Armbrust", 1, [250, 100])])\ ..
[이코테] [2] 그리디(Greedy) 와 구현 (Implementation)
·
Programming/CodingTest
탐욕법 - Greedy그리디 알고리즘(탐욕법)은 현재 상황에서 최적의 해를 항상 보장하는 방법을 적용 예제 1문제 - 손님에게 거슬러 줘야 할 돈이 N 일 때 거슬러 주어야할 동전(500,100,10)의 최소 개수 구하기풀이 - 가장 큰 화페 단위부터 돈을 거슬러 준다.그리디 적용 조건 - 큰 단위가 항상 작은 단위의 배수가 되어야 한다. ( 500원 동전은 10원,100원 동전의 배수  )코드 - n = 1260count = 0array = [500, 100, 50, 10]for coin in array: count += n // coin n %= coinprint(count)# 시간복잡도 O(K)  예제 2문제 - 각 자리가 숫자로 이루어진 문자열(S), 왼쪽부터 'x', '+' 연산자를 ..
[이코테] [1] 코딩테스트를 위한 많이 활용하는 파이썬 문법
·
Programming/CodingTest
내장 함수프로그램을 작성할 때 없어서 안되는 필수적인 기능을 포함합니다. map 함수반복가능한(iterable) 자료형의 모든 요소에 특정 함수를 적용 후, 결과 반환map(적용할 함수, 반복가능한 객체)map() 함수의 반환값은 map객체로, 결과를 리스트나 튜플로 변환해야 함예제 : data = list(map(int, input().split())) 정렬 함수sorted() 는 내장 함수, 새로운 리스트를 반환sort() 리스트의 함수, 원본 리스트 자체를 정렬, 반환값은 None 람다 함수# 람다 함수 [1]print((lambda a,b : a+b)(10,5)) # 결과 15# 람다 함수 [2]array = [('매트',50),('로리'20),('소드'75)]def my_key(x): retur..
[HackerRank] Bill Division 문제 - Implementation
·
Programming/CodingTest
문제 설명구현문제입니다.친구들이 식사 후 식사비를 나누는 상황입니다. 하나의 친구는 특정 요리를 먹지 않았습니다.요리를 나누고 계산했을 때, 그 친구는 본인이 먹지 않은 요리에 대해 청구된 부분에 대해 불만을 갖습니다.친구들이 각자 내야 할 금액을 계산하고, 불만을 가진 친구가 정당하게 내야 할 금액과 비교하여 그 차이를 계산합니다.https://www.hackerrank.com/challenges/bon-appetit/problem?isFullScreen=true Bill Division | HackerRankDetermine whether or not Brian overcharged Anna for their split bill.www.hackerrank.com 문제 접근 방법입력:첫 번째 줄: 친구..
스파크완벽가이드 - 6장 다양한 데이터 타입 다루기
·
DataPipeline/Spark
다양한 데이터 타입- boolean- 수치- 문자열- data와 timestamp- null 값- 복합 데이터- 사용자 정의 함수  6.1 API는 어디서 찾을까- DataFrame은 Row 타입을 가진 Dataset이므로 결국에는 Dataset 메서드를 참조함- org.apache.spark.sql.functions 데이터 타입과 다양한 함수를 제공- 분석에 사용할 DataFramedf = spark.read.format("csv")\ .option("header", "true")\ .option("inferSchema", "true")\ .load('/Users/myName/Test/Spark_ref/sparkGuide/data/2010-12-01.csv')df.printSchema(..
wave35
아그거뭐였지?