[Spark] 스파크 조인
·
Data Engineering/Spark
8.1 조인 표현식 #python3 DF.join( JoinDF , JoinExpression, (joinType) ) - JoinDF : 조인 대상 - JoinExpression : 조인 표현식(조건) - joinType : 조인 타입( 생략가능 / defaultValue : inner ) 왼쪽, 오른쪽 데이터 셋에 있는 하나 이상의 키값을 비교하고 왼쪽 데이터 셋과 오른쪽 데이터 셋의 결합 여부를 결정하는 조인 표현식의 평가 결과에 따라 두 개의 데이터 셋을 조인 가장 많이 사용하는 조인식은 동등 조인(equi-join) 더 복잡한 조인 정책도 지원함 8.2 조인 타입 내부 조인(inner join) 왼쪽, 오른쪽 데이터 셋에 키가 있는 로우를 유지 외부 조인(outer join) 왼쪽이나 오른쪽 데..
[Spark] 스파크 집계연산 정리 1
·
Data Engineering/Spark
집계를 수행하려면 키나 그룹을 지정하고 하나 이상의 컬럼을 변환하는 방법을 지정하는 집계함수를 사용 SELECT 가장 간단한 형태의 그룹화, 집계를 수행해 데이터 프레임의 전체 데이터를 요약 GROUP BY 하나 이상의 키를 지정, 값을 가진 컬럼을 변환하기 위해 다른 집계 함수 사용 WINDOW 하나 이상의 키를 지정할수 있음, 값을 가진 컬럼을 변환하기 위해 다른 집계 함수 사용 가능. 하지만 함수의 입력으로 사용할 로우는 현재 로우와 연관성이 있어야 함 GROUP SET 서로 다른 레벨의 값을 집계할 때 사용. SQL, 데이터프레임의 롤업, 큐브 사용 가능 ROLL UP 하나 이상의 키 지정 가능, 컬럼 변환하는데 다른 집계 함수 사용하여 계층적 요약된 값 구함
[Git] git stash, git cherrypick, git pull/fetch 의 차이 참고 내용 링크
·
Data Engineering/GitHub
1. git stash https://gmlwjd9405.github.io/2018/05/18/git-stash.html [Git] git stash 명령어 사용하기 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 2. git cherrypick https://hbase.tistory.com/141 [Git] git cherry-pick - 다른 브랜치의 커밋을 적용 git을 이용해서 코드를 관리하다보면 다른 브랜치에 적용된 커밋을 가져와서 내 브랜치에 적용하고 싶은 경우가 있다. develop 브랜치에서 기능 개발 브랜치를 따고 작업하다가 develop 브랜치에 새 hbase.tistory.com 3. git pu..
[NiFi] 9. Create / Export / Import Template
·
Data Engineering/NiFi
Lalithnarayan 의 블로그를 참고하여 한국어로 간단하게 옮겼다 1. 개요 nifi template 는 nifi 에 존재하는 프로세서(processor) 들을 연결한 아키텍처(파이프라인)을 모듈(라이브러리) 화 시켜 언제든지 재사용이 가능하게 만든 것 template 의 목적은 이전에 작성한 모듈을 다시 재사용하기 위한 것 2. Steps Step 01. Creating Template - 마우스 오른쪽 클릭으로 create template 을 선택한다 - 그리고 template 이름을 적으면 완성 Step 02. Download / Export created Template - 유저 인터페이스에서 심볼 클릭 후 templates 를 클릭 - 그러면, 아래 이미지와 같이 생성한 template 를..
[Spark] EMR Spark 재시작 하기
·
Data Engineering/Spark
스파크의 설정 변경 등을 하면 종종 다시 시작할 일이 있어 해당 사항을 기록한다. emr 의 스파크를 많이 사용하므로 emr 을 기준으로 우선 기록 $ sudo systemctl stop hadoop-yarn-resourcemanager $ sudo systemctl status hadoop-yarn-resourcemanager $ sudo systemctl start hadoop-yarn-resourcemanager
[Git] git clone 및 업로드 시 access token 하는 법 기록
·
Data Engineering/GitHub
1. 원인 2021년 8월 부로 git 의 로그인 정책이 변경되었으므로 해당 사항을 기록해서 추후 써먹고자 한다. 2. 방법 https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token Creating a personal access token - GitHub Docs Note: If you use GitHub CLI to authenticate to GitHub on the command line, you can skip generating a personal access token and authenticate via the web browser instead. ..
[ Spark ] 스파크 간단 스터디 7
·
Data Engineering/Spark
In [1]: //스칼라 코드 val myCollection = "Spark The Definitive Guide : BigData Processing Made Simple".split(" ") val words = spark.sparkContext.parallelize(myCollection,2) Intitializing Scala interpreter ... Spark Web UI available at http://win10-210321GO:4040 SparkContext available as 'sc' (version = 2.4.8, master = local[*], app id = local-1626600754783) SparkSession available as 'spar..
[ Spark ] 스파크 간단 스터디 6
·
Data Engineering/Spark
Chapter 12. RDD¶ 저수준 API 이며, 분산형 공유변수이다 12.1 저수준 API 이란¶ 스파크에는 두 종류의 저수준 API 존재 분산 데이터 처리를 위한 RDD 분산형 공유 변수를 배포하고 다루기 위한 브로드 캐스트 변수, 어큐뮬레이터 12.1.1 저수준 API 는 언제 사용할까¶ 고수준 API 에서 제공하지 않는 기능이 필요한 경우 RDD를 사용해 개발된 기존 코드를 유지해야 하는 경우 사용자가 정의한 공유 변수를 다뤄야 하는 겨우 --> 위와 같은 상황에서 저수준 API 사용해야함 스파크의 모든 워크로드는 저수준 기능을 사용하는 기초적인 형태로 컴파일되므로 이를 이해하는 것은 큰 도움이 됨 DF 트랜스포메이션 호출시, 다수의 RDD 트랜스포메이션으로 변환 저수준 API 는 세밀한 제어 ..
[ Spark ] 스파크 간단 스터디 5
·
Data Engineering/Spark
Chapter 11. Dataset¶ 구조적 api 의 기본 데이터 타입 데이터프레임은 row 타입의 dataset 이다. 자바 가상 머신을 사용하는 언어인 스칼라 와 자바 에서만 사용할 수 있다. 타입형 api 라고 불린다 데이터프레임 api 를 사용할 때 string, integer 데이터 타입의 객체를 생성하지 않지만 스파크는 row 객체를 변환해 데이터를 처리 스칼라에서 데이터프레임은 row 타입의 dataset 을 의미함 인코더 : 도메인별 특정 객체 T를 스파크의 내부 데이터 타입으로 매핑하는 시스템 DatasetAPI 를 사용하면 스파크는 데이터셋에 접근할 대마다 row 포맷이 아닌 사용자 정의 데이터 타입으로 변환 이 변환 작업은 느리지만 사용자에게 더 많은 유연성을 제공함 인코더의 역할¶..
[ Spark ] 스파크 간단 스터디 4
·
Data Engineering/Spark
Chapter 9. 데이터 소스¶ 스파크에는 6가지 핵심 데이터 소스와 커뮤니티에서 만든 수백가지 외부 데이터 소스 존재 핵심 데이터 소스 : CSV, JSON, PARQUET, ORC, JDBC/ODBC, 일반 TXT 외부 데이터 소스 : 카산드라, HBASE, MONGODB, AWS REDSHIFT, XML, 기타 소스 9.1 데이터 소스 API 구조¶ DataFrameReader.format(...).option("key", "value").chema(...).load() 모든 데이터 소스를 읽을 때 위와 같은 형식 사용 format 메서드 : 선택적으로 사용할수 있으며 parquet 가 기본 포멧 option 메서드 : 키-값 쌍으로 파라미터 설정 가능 schema 메서드 : 데이터 소스에서 스키..