[Databirkcs] Cli로 Workspace to local file system으로 file 옮기기
·
데이터 엔지니어링/Databricks
워크스페이스 정리를 위해 작업공간을 dbc로 내려받으려 했으나(ui환경에서) 10메가 초과로 내려받을 수 없게 됐다. 확인해보니, 노트북 환경에서는 spark.display() 나 그래프 or 데이터들이 같이 보여지기 때문에 https의 용량을 많이 잡아먹는 것 같다. 따라서 cli 환경으로 데이터브릭스 디렉터리를 로컬로 받는 것을 택했다. databricks workspace export_dir --help Databricks documentation docs.databricks.com 브릭스 공식문서를 보니, cli 환경에서 아래의 디렉토리를 주면 로컬로 다운받을 수 있는 것을 확인했다. databricks workspace export_dir --overwrite /Users/someone@exam..
[AWS] EC2에 Airflow 설치하는 방법
·
데이터 엔지니어링/AWS
사이드 프로젝트를 위해서 ec2에 mysql,kafka,airflow를 설치했다.airflow 설치하는 방법에 대해 기록하려고 한다.python3 를 통해 가상환경 생성해당 작업만의 패키지를 설치하기 위해 가상환경을 생성하는 작업을 먼저 진행한다.# 가상환경 생성$ python3 -m venv venv-test-airflow# 가상환경 실행$ source venv-test-airflow/bin/activateAirflow 설치$ pip install apache-airflowSQLite 초기화airflow의 db는 기본으로 sqlite를 쓰고 있으며, db를 초기화 한다$ airflow db init유저 계정 생성# 계정 생성 명령어 (\\ 앞에 띄어쓰기 있어야함)$ airflow users create..
터미널 iTerm2(oh-my-zsh) 유저 이름 변경 및 삭제하기
·
알쓸신잡/Common
맥 터미널을 사용하다보면 컴퓨터의 이름과 바탕화면 폴더이름이 너무 길어 명령어를 칠 때 2줄 3줄로 넘어가는것을 확인할 수 있다. 화자는 ls 만 쳐도 1줄이 끝나는데, 터미널 컴퓨터 이름을 삭제하고 원하는 유저명으로 변경해보려고 한다.컴퓨터 이름 삭제vi ~/.zshrc vi로 zshrc file을 연다prompt_context() { if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" fi }i를 눌러 insert하고 위의 코드를 맨 아래에 붙여넣는다. esc를 누르고, :wq(저장하고) 를 해서 파일을 나온뒤 터미널을 다시..
[Databricks] Change of Capture / Auto loader
·
데이터 엔지니어링/Databricks
스키마 정의일단 정적인 스키마를 적용하려면 스키마부터 정의하고 진행해야 한다또한 작은 파일들을 최적화하기 위해서 spark.conf.set을 적용한다from pyspark.sql.functions import *from pyspark.sql.types import *spark.conf.set("spark.databricks.delta.properties.defaults.autoOptimize.optimizeWrite", "true")spark.conf.set("spark.databricks.delta.properties.defaults.autoOptimize.autoCompact", "true")spark.conf.set("spark.databricks.delta.preview.enabled", "tru..
[AWS] EC2에 kafka 설치하는 방법
·
데이터 엔지니어링/AWS
kafka description💡 각 DB와 시스템 사이에 kafka를 도입하여 보내는 쪽(producer)과 받는 쪽 (consumer) 신경 쓸 필요 없이 kafka에서 중개역할 수행controller각 broker에게 담당 파티션 할당 수행broker 동작 모니터링 관리kafka broker (=server)실행된 Kafka application server를 의미함producerdprp message를 받아서 offset(consumer에서 메시지를 어디부터 어디까지 읽었는지 저장하는 값) 할당만약 offset=4 인 경우, offset 0,1,2,3은 메시지를 읽은 것으로 추정partition내의 한 칸, offset, indexapache zookeeper (=message 관리자)여러 대의..
[Spark] Json 파싱하는 법
·
데이터 엔지니어링/Spark
spark sql을 사용하여 json의 복잡한 유형을 파싱하고 다루는 방법을 알아보자spark sql support module pyspark.sql.fuctionsfrom pyspark.sql.functions import *from pyspark.sql.types import * 중첩된 열에 대해 "." 을 사용해서 가지고 올 때schema 먼저 선언1. using a Structschema = StructType().add("a", StructType().add("main", IntegerType())) 2. using a mapschema = StructType().add("a", MapType(StringType(), IntegerType())) 중첩된 열에 대해 "*" 를 사용해서 b 필드를 ..
[Databricks] Private VPC 생성하기 (with AWS Cloud)
·
데이터 엔지니어링/Databricks
Private VpcPrivate vpc는 흔히 고객 관리형 VPC라고 할 수 있으며 오늘은 고객의 VPC에서 Databricks 작업 영역을 만들어 볼것이다.https://docs.databricks.com/en/administration-guide/cloud-configurations/aws/customer-managed-vpc.html Databricks documentation docs.databricks.com 기본적으로 데이터브릭스는 클라우드 위에서 존재하기 때문에, 클러스터 생성과 스토리지 또한 클라우드 위에존재한다는 것을 알아야 한다.우선, 데이터브릭스 작업영역을 만들기 위해서 3가지 차례로 진행하면 되는데,1. 자격증명구성2. 저장소 구성3. 네트워크 구성이다.1. 자격 증명 구성 iam..
[Algorithm] 인프런 점수계산
·
코딩테스트/Python
문제출처OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다.예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경우에는  0으로  표시하였을  때,  점수  계산은  아래  표와  같이  계산되어,  총  점수는 1+1+2+3+1..