개발/Spark

[Spark DEBUG] Refresh for Dataframe while reading file 오류

wonpick 2022. 11. 16. 12:30

Spark에서 파일이 존재하지 않는다는 문구와 함께 다음 오류가 발생한다.

캐시된 메타데이터 정보가 업데이트되지 않아 Spark SQL에서 새로 삽입된 데이터를 쿼리하지 못하여 작업 실행 오류가 발생한다고 한다.

It is possible the underlying files have been updated. You can explicitly invalidate the cache in Spark by running 'REFRESH TABLE tableName' command in SQL or by recreating the Dataset/DataFrame involved.

테이블과 관련된 모든 캐시된 항목을 업데이트 함으로 해결할 수 있다고 한다. 

spark.sql('refresh TABLE db명.table명')
tabel명 = spark.sql('select from db명.table명')

 

-> refresh 쿼리 날려서 해결

 

# Spark Session 시작 후 스키마가 변경될 경우 REFRESH TABLE 을 이용해 테이블 정보를 다시 받아올 수 있습니다
# spark.catalog.refreshTable(“airbnb_db.listing_availability”) 와 동일
spark.sql(“REFRESH TABLE airbnb_db.listing_availability”)

 


별개로 동일한 위치의 파일을 저장하고 쓸 때 참고 )

https://kontext.tech/article/1068/spark-debug-it-is-possible-the-underlying-files-have-been-updated