728x90
반응형

분류 전체보기 257

spark-submit 중 spark config 값 변경하기

spark를 실행 중에 config 값을 변경해야하는 경우가 있다. 필자 같은 경우에는 처음 spark submit을 할 때는 spark.master를 yarn을 사용하다가 중간에 local mode로 변경해야 하는 경우가 있다. 조금 더 자세히 이야기를 하자면 yarn cluster에서는 필자가 접근하려는 db에 방화벽이 있기 때문에 접속을 못하고 driver node에서만 접근이 가능했기 때문에 사용했다. # spark session을 stand alone node로 변경 conf = spark.sparkContext._conf.setAll([('spark.master', 'local[10]'),('spark.driver.memory','8g')]) spark.sparkContext.stop() sp..

hive에서 선택한 일자의 월요일 일자 가져오기

어떤 데이터를 추출할 때에는 월요일~일요일 사이의 데이터를 가져와야 할 경우가 있다. 예를들어 주간 실적같은 것을 보여줄 때가 그렇다. 이럴 때는 월요일~일요일의 일자를 알아야 한다. 월요일만 알면 6일을 더하면 일요일이 되기 때문에 월요일 날짜를 찾는게 집중하면 된다. hive에서는 아래와 같이 쿼리를 실행하면 월요일의 일자를 알 수 있다. select next_day(date_sub('2019-01-01', 7), 'MON') hive 1.2 버전 이상에서만 될 수 있으니 hive의 버전을 확인하자. 참고 stackoverflow.com/questions/33196651/how-to-get-the-date-of-the-first-day-of-a-week-given-a-time-stamp-in-hado..

pyspark dataframe에서 join하고 컬럼을 select 하거나 drop 하기

spark dataframe에서 조인을 하면 동일한 컬럼이 2개 생길 수 있다. 안 생길 때도 있다. 어쨌든 동일한 컬럼이 중복으로 생기면 제거해줘야 한다. 이 때는 2가지 방법이 있다. .select()를 이용해 사용할 컬럼만 선택하거나 .drop을 이용해서 필요없는 컬럼을 제거해야 한다. 여러 개의 컬럼을 선택하거나 삭제할 때는 아래와 같은 방법을 이용해야 한다. df = (df.join(df_b, (df.mem == df_b.mem) & (df.prd == df_b.prd), "left_anti") .drop("df_b.mem_no,df_b.prd_no")) spark.apache.org/docs/latest/api/python/pyspark.sql.html?highlight=join pyspark..

spark에서 master node로 데이터를 모으기 위해서 collect를 사용하는 방법

spark에서 dataframe을 이용할 때 데이터는 worker node에 분산되어 저장된다. 이 때 어떠한 필요에 의해서 데이터를 master node로 보내야 하는 경우가 있다면 collect()를 이용하면 된다. 필자의 경우 df의 데이터를 oracle 데이터로 보내기 위해서 이 작업이 필요했다. master node는 오라클 db에 접근이 가능하지만 worker node는 보안 정책으로 인해 접근할 수 없었다. 그래서 데이터를 master node로 보내고 master node의 데이터를 다른 db로 보내려고 했다. 결론적으로는 실패 해서 다른 방법을 이용했지만 어쨌든 데이터를 master node에 모으고 싶다면 이 방법을 이용하면 된다. df.collect() 데이터가 많은 경우에는 데이터가..

visual studio code(vscode) 단축키

현재 가장 많이 쓰는 단축키는 2개다. 기능 윈도우 맥북 왼쪽 사이드바 숨기기 / 보이기 ctrl + b command + b 하단 패널 숨기기 / 보이기 ctrl + j command + j doc string 생성 shift + ctrl + 2 shift + cmd + 2 참고 sub0709.tistory.com/58 자주쓰는 VSCode 단축키 관련지식 visual studio code Edit 한줄삭제 : ctrl + shift + k 커서가 위치한 line을 삭제한다. 만약 여러 line이 선택된 상태면 선택된 모든 line 을 삭제한다. 한줄이동 : alt + 상하방향키 커서가 위치한 lin.. sub0709.tistory.com https://marketplace.visualstudio.co..

개발환경 2020.10.12
728x90
반응형