Open syleeie2310 opened 1 month ago
colab > databricks jdbc sql 로 읽는 방법
-> token은 제가 만든 거니깐 본인 걸로 교체해주세요. -> sql warehouse 를 부팅한 다음에 사용 가능합니다. 부팅하지 않은 상태로 실행하면 부팅 이후에 쿼리가 실행되요. 부팅하는데는 최소 5분 정도 걸려요. (https://tacademykr-asacanalysis.cloud.databricks.com/compute/sql-warehouses?o=3001521127938963&page=1&page_size=20) -> sql query 그대로 읽으면 데이터가 엄청 커서, 아래처럼 쿼리 히스토리 보면 용량이 크긴 하네요.
-> 데이터가 보니깐 155기가라서 그냥 판다스로 바꾸면 터지네요. (쿼리로 확인해보니깐 16분 걸려서 가져옵니다. 155기가 네요, describe detail sentence_bert_emb_default 하면 나옴) -> jdbc 통해서 가져올 때 데이터를 colab에서 chunk 로 잘라서 loop 읽어서 별도 공간에 저장해두고 사용하는 방법이 좋을 듯 해요.
그리고 unity catalog (sentence_bert_emb_default) 에서 gmap_id 를 zorder 함수 사용하면 읽을 때 조금 더 빠를거에요
zorder 는 아래 참고하시면 되는데, 데이터브릭스에서 데이터 빠르게 읽을 때 쓰는 optimize 방식이에요 (db에 index랑 다르지만 사용 관점에선 비슷한 기능) https://docs.databricks.com/en/delta/data-skipping.html
-> 아래 형태로 쿼리로 1번만 실행하면 됩니다. OPTIMIZE sentence_bert_emb_default ZORDER BY (gmap_id)
https://medium.com/geekculture/delta-sharing-bc9f1939d08b https://docs.gcp.databricks.com/en/dev-tools/databricks-connect/python/index.html
구글 드라이브에 데이터 올려서 하거나 또는 델타 쉐어링 통해서 colab에서 접근하거나