728x90

select 2

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() 데이터가 많은 경우에는 데이터가..

728x90