Databricks Assistant 는 Databricks Data Intelligence Platform에 기본적으로 탑재된 컨텍스트 인식 AI 보조 도구입니다. 이것은 SQL 쿼리를 생성하고, 복잡한 코드를 설명하고, 자동으로 오류를 수정하는 데 도움을 주어 SQL 및 데이터 분석을 단순화하도록 설계되었습니다.
이 블로그에서는 Databricks Assistant 팁 & 트릭 for 데이터 엔지니어에 이어 SQL과 데이터 분석가에 초점을 맞춥니다. Assistant가 어떻게 모범 사례를 강화하고 성능을 향상시키며 반정형 데이터를 사용 가능한 형식으로 변환하는지 살펴봅니다. 데이터 과학자 등에 대한 미래의 게시물을 기대해 주세요. Databricks Assistant가 복잡한 워크플로우를 단순화하고 고급 분석을 모두에게 접근 가능하게 함으로써 데이터를 민주화하는 방법을 탐구합니다.
다음은 분석가들이 보조 도구를 더 효과적으로 사용하는 데 도움이 되는 몇 가지 모범 사례입니다. 이를 통해 더 정확한 응답, 원활한 반복, 향상된 효율성을 보장할 수 있습니다.
이러한 모범 사례를 염두에 두고, SQL 및 데이터 분석가들이 매일 직면하는 특정한 도전들을 좀 더 자세히 살펴보겠습니다. 쿼리 최적화와 반정형 데이터 처리부터 SQL 명령어를 처음부터 생성하는 것까지, Databricks 어시스턴트는 SQL 워크플로우를 단순화하여 데이터 분석을 덜 복잡하고 더 효율 적으로 만듭니다.
SQL 방언은 플랫폼 간에 다르며, 함수, 구문, 심지어 DDL 문과 윈도우 함수와 같은 핵심 개념에서도 차이가 있습니다. Hive에서 Databricks SQL로 이동하거나 Postgres, BigQuery, Unity Catalog 간에 쿼리를 번역하는 등 여러 환경에서 작업하는 분석가들은 종종 쿼리를 수동으로 적용하는 데 시간을 보냅니다.
예를 들어, 어시스턴트가 Hive DDL을 Databricks 호환 SQL로 생성하는 방법을 살펴봅시다. 원래의 쿼리는 SORTED_BY
가 DBSQL에 존재하지 않기 때문에 오류를 발생시킵니다. 여기에서 볼 수 있듯이, Assistant는 고장난 줄을 원활하게 교체하고 이를 USING DELTA,
로 교체하여 테이블이 최적화된 저장 및 인덱싱을 제공하는 Delta Lake로 생성되도록 합니다. 이를 통해 분석가들은 수동 시행착오 없이 Hive 쿼리를 마이그레이션 할 수 있습니다.
긴, 중첩된 SQL 쿼리는 읽기, 디버그, 유지 관리하기 어렵습니다 - 특히 깊게 중첩된 서브쿼리나 복잡한 CASE WHEN
로직이 포함되어 있을 때입니다. 다행히 Databricks Assistant를 이용하면 분석가들이 이러한 쿼리를 CTE로 쉽게 리팩토링하여 가독성을 향상시킬 수 있습니다. Assistant가 깊게 중첩된 쿼리를 CTE를 사용하여 더 구조화된 형식으로 변환하는 예를 살펴보겠습니다.
SQL 윈도우 함수는 전통적으로 순위 지정, 집계, 행 축소 없이 누적 합계를 계산하는 데 사용되지만, 올바르게 사용하는 것이 까다로울 수 있습니다. 분석가들은 종종 PARTITION BY와 ORDER BY 절, 적절한 순위 함수 (RANK, DENSE_RANK, ROW_NUMBER) 선택, 누적 평균 및 이동 평균 효율적 구현에 어려움을 겪습니다.
Databricks Assistant는 올바른 구문을 생성하고, 함수 동작을 설명하며, 성능 최적화를 제안함으로써 도움을 줍니다. Assistant가 윈도우 함수를 사용하여 7일간의 롤링 요금 합계를 계산하는 예를 살펴봅시다.
분석가들은 종종 JSON과 같은 반정형 데이터를 다루며, 이를 효율적인 쿼리를 위한 구조화된 테이블로 변환해야 합니다. 필드를 수동으로 추출하고, 스키마를 정의하고, 중첩된 JSON 객체를 처리하는 것은 시간이 많이 소요되고 오류가 발생하기 쉽습니다. Databricks 어시스턴트는 원시 데이터에 직접 접근할 수 없으므로, 테이블 설명이나 열 주석과 같은 Unity 카탈로그 메타데이터를 추가하면 제안의 정확성이 향상될 수 있습니다.
이 예에서는 장르 ID와 이름이 모두 포함된 JSON으로 저장된 장르 데이터가 포함된 열이 있습니다. Databricks 어시스턴트를 사용하면, 이 열을 빠르게 펼쳐 개별 필드를 별도의 열로 추출하여 분석을 더 쉽게 할 수 있습니다.
정확한 결과를 보장하기 위해, 먼저 Catalog Explorer에서 JSON 구조를 확인하고, Assistant가 열 주석에서 참조할 수 있는 샘플 형식을 제공해야 합니다. 이 추가 단계는 보조 도구가 더 맞춤화되고 정확한 응답을 생성하는 데 도움이 되었습니다.
이와 유사한 접근 방식은 정규 표현식 표현이나 복잡한 SQL 변환을 생성하려고 할 때 사용될 수 있습니다. 먼저 예상 입력 형식의 명확한 예를 제공함으로써—이는 샘플 JSON 구조, 텍스트 패턴, 또는 SQL 스키마일 수 있습니다—분석가들은 Assistant가 더 정확하고 관련성 있는 제안을 생성하도록 안내할 수 있습니다.
지난해의 Databricks 어시스턴트 연간 리뷰 블로그에서는 /optimize의 도입을 강조했는데, 이는 누락된 파티션 필터, 고비용 조인, 중복 작업과 같은 비효율성을 식별하여 SQL 쿼리를 개선하는 데 도움이 됩니다. 쿼리를 실행하기 전에 미리 개선 사항을 제안함으로써, /optimize는 사용자가 불필요한 계산을 최소화하고 성능을 미리 향상시키도록 보장합니다.
이제, /analyze라는 기능을 추가로 확장하고 있습니다. 이 기능은 쿼리 실행 후 성능을 검사하고, 실행 통계를 분석하고, 병목 현상을 감지하며, 지능적인 추천을 제공합니다.
아래 예에서는 Assistant가 읽는 데이터의 양을 분석하고 성능을 향상시키기 위한 최적의 파티셔닝 전략을 제안합니다.
오늘 Databricks Assistant를 사용하여 자연어로 작업을 설명하고, Assistant가 SQL 쿼리를 생성하고, 복잡한 코드를 설명하고, 자동으로 오류를 수정하도록 하세요.
또한, 데이터 클리닝, 필터링, 탐색을 간소화하는 방법을 보여주는 Databricks 노트북에서의 EDA에 대한 최신 튜토리얼 을 확인해 보세요.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)