syleeie2310 / nft_dataanalysis

nft_dataanalysis
5 stars 2 forks source link

데이터브릭스 멘토님 질문 #20

Open yamuzer opened 2 years ago

yamuzer commented 2 years ago
  1. 데이터브릭스 노트북에서 경로미지정하고 파일 저장시 어디에 저장되는 것인지?
  2. dbfs에서 폴더 명변경/삭제 어떻게 하는지?
  3. dbfs에서 복수 파일 이동 어떻게 하는지?
syleeie2310 commented 2 years ago

dbfs 관련된 내용은 아래 참고하심 됩니다. dbfs 유틸리티 함수에 폴더 변경, 삭제, 이동 등 명령어 쓰셔도 되고 pandas나 spark dataframe 사용하면 write 하는건 각 라이브러리마다 다르니 참고하심 되요.

https://docs.databricks.com/data/databricks-file-system.html https://docs.databricks.com/dev-tools/databricks-utils.html

pandas(로컬)에서 해당 위치 저장 안하고 로컬(driver)에만 그냥 보관하면 s3에 저장되지 않고 => df.to_csv('/dbfs/FileStore/KartRider/2/3/2021_0930(1)_speed_matchinfo_df.csv')

dbfs 위치를 적당히 써주면 해당 위치에 데이터가 저장되요. 현재 s3 버킷이 dbfs에 mount 되어 잇다고 보심 되요. spark에서 wrtie 하거나, hive에서 write 할때만 dbfs(현재 s3 가 mount 되어 있음) 에 저장됩니다.

그래서 1번 경로 미지정하고 파일 저장이 되나요의 질문이 되었나 싶긴한데.. 노트북 저장공간은 별도로 있습니다.

spark에서 parquet / json / csv/ txt 또는 hive로 저장하는 것도 아래와 같은 형태로 하면 되요.

저장 방식

  1. spark dataframe (parquet) 로 저장 OUTPUT_PATH = "dbfs:/mnt/dataanalysis/syleeie/test" test_df.write.save(OUTPUT_PATH, format='parquet', mode='overwrite')

  2. spark dataframe => hive 로 저장 test_df = spark.sql(""" select category, sub_category, count(*) cnts from test_rdd_df group by category, sub_category """) test_df.write.saveAsTable("test_df3")

삭제 dbutils.fs.rm('/FileStore/tables/syleeie/test', True)