Databricks 데이터 계보 Spark SQL 및 Delta Lake 코드를 통해 데이터가 흐르는 방식을 열 수준에서 보여주는 지도입니다. 즉, 브론즈, 실버, 골드 레이어 전반에 걸쳐 각 대상 테이블에 어떤 소스 열이 사용되는지, 그리고 어떤 변환(조인, 집계 등)이 수행되는지를 나타냅니다. 병합 논리는 실행 과정에서 발생합니다. Unity Catalog는 자체적으로 실행되는 워크로드에 대한 계보를 자동으로 캡처합니다. Gudu SQLFlow SQL 자체를 파싱하여 나머지 모든 것을 처리하므로 Databricks로의 마이그레이션, Unity Catalog 외부에서 실행되는 SQL, Databricks와 다른 플랫폼을 아우르는 환경 관리 등에 적합한 도구입니다.
30초 안에 시도해 보세요: Databricks를 붙여넣으세요 병합하다 또는 노트북 쿼리를 무료 SQLFlow 계보 시각화 도구Databricks 방언을 선택하면 열 수준 계보도를 즉시 얻을 수 있습니다. 클러스터 및 작업 공간 액세스가 필요하지 않습니다.
유니티 카탈로그 계보 정보 이상의 정보가 필요한 경우는 언제인가요?
Unity Catalog는 그 기능을 정말 잘 수행합니다. 이를 통해 실행되는 쿼리와 작업에 대해 Databricks는 추가 도구 없이 자동으로 계보를 캡처합니다. 전체 시스템이 하나의 Databricks 계정 내에 있고 모든 워크로드가 Unity Catalog를 통해 실행되는 경우, Unity Catalog부터 시작하는 것이 좋습니다.
이 차이는 버그가 아니라 구조적인 문제입니다. 런타임에 캡처된 코드 계보는 캡처를 수행하는 환경에서 이미 실행된 코드에 대해서만 존재합니다. 따라서 팀에서 SQL 구문 분석 방식을 사용하는 경우는 다음 네 가지 상황으로 나뉩니다.
- Databricks에서 코드가 실행되기 전입니다. Oracle, Teradata 또는 SQL Server에서 마이그레이션하는 경우, 프로덕션 환경에서 실행하기 전에 기존 SQL과 새로 작성된 Databricks SQL의 종속성 그래프가 필요합니다.
- Unity 카탈로그를 전혀 건드리지 않는 SQL입니다. 파일로 내보낸 노트북 SQL, Git 리포지토리의 스크립트, 외부 스케줄러 또는 ETL 도구에서 생성된 SQL, Unity 카탈로그로 아직 업그레이드되지 않은 워크스페이스의 코드.
- 크로스 플랫폼 부동산. SQL Server에서 시작하여 Databricks에서 변환된 후 Snowflake에 도달하는 파이프라인에는 세 플랫폼 전체에 걸쳐 하나의 데이터 계보 그래프가 필요합니다. SQLFlow는 Databricks를 포함한 39개 데이터베이스에 대한 방언별 파서를 제공합니다. Spark SQL 그중에서 — 전체 체인을 하나의 엔진으로 분석합니다.
- 이미 운영 중인 카탈로그의 계보. 조직에서 Databricks UI 대신 DataHub, Microsoft Purview 또는 OpenMetadata를 표준으로 사용하는 경우 해당 플랫폼으로 내보낼 수 있는 데이터 계보 기능이 필요합니다. SQLFlow에는 이 세 가지 플랫폼 모두에 대한 내보내기 어댑터가 포함되어 있습니다.
두 접근 방식은 상호 보완적입니다. Unity Catalog는 실행된 코드를 알려주고, 정적 SQL 분석은 아직 실행되지 않은 코드를 포함하여 코드가 무엇을 하는지 알려줍니다.
SQLFlow가 Databricks SQL을 파싱하는 방법
Gudu SQLFlow is an automated SQL 데이터 계보 도구 built on the General SQL Parser, a commercial SQL compiler front-end developed since the mid-2000s and validated against roughly 13,600 per-dialect test fixtures. It ships a dedicated Databricks dialect parser in the Spark SQL family — not a generic ANSI grammar — so Databricks-specific constructs are parsed as first-class syntax rather than approximated.
분석은 완전히 정적입니다. SQLFlow는 SQL 텍스트와 선택적으로 스키마 메타데이터를 읽습니다. Delta 테이블의 행은 절대 읽지 않으며, 온프레미스 에디션 SQL 텍스트 자체는 네트워크를 벗어나지 않습니다. Docker 또는 Kubernetes에 배포되어 외부와 완전히 분리된 상태로 실행됩니다. 각 문장에 대해 파서는 CTE, 서브쿼리, 뷰 등을 통해 모든 열 참조를 해석하여 완전한 의미 모델을 구축합니다. 선택하다 * 확장이 이루어지면 데이터 흐름 분석기는 열 단위로 소스-대상 관계를 추출합니다.
데이터베이스에 존재하는 모든 형태의 SQL 쿼리를 입력으로 사용할 수 있습니다. 붙여넣은 SQL 문, 업로드된 파일, JDBC를 통한 데이터베이스 메타데이터, 또는 Databricks를 대상으로 하는 dbt 프로젝트용 dbt 매니페스트 등을 활용할 수 있습니다. 출력은 상호 작용이 가능하고 드릴다운이 가능한 다이어그램과 함께 JSON, CSV, PNG 형식의 구조화된 데이터 계보 또는 REST API 응답으로 제공됩니다.
예시: Delta MERGE를 통한 컬럼 수준 계보
병합하다 Delta Lake 파이프라인의 핵심 작업이며, 단일 병합 작업으로 읽기, 일치, 업데이트 및 삽입이 한 번에 수행되므로 테이블 수준의 계보가 거의 필요 없는 구문입니다. 골드 레이어 업서트를 예로 들어 보겠습니다.
gold.customer_ltv 테이블을 t로 병합합니다. 이때 o.customer_id, o.amount의 합계, o.order_ts의 최대값을 기준으로 silver.orders 테이블에서 o.status가 'completed'인 조건을 만족하는 o.customer_id를 기준으로 그룹화합니다. t.customer_id와 s.customer_id가 일치하는 경우 t.lifetime_value와 t.last_order_ts를 업데이트합니다. 일치하지 않는 경우 (customer_id, lifetime_value, last_order_ts) 값을 s.customer_id, s.lifetime_value, s.last_order_ts에 삽입합니다.
SQLFlow는 이를 정확한 열 수준 관계로 해석합니다. 금.고객_ltv.평생_가치 ~에서 유래하다 은 주문 금액 ~을 통해 합집합(), 양쪽을 통해 업데이트 그리고 끼워 넣다 나뭇가지. 마지막 주문 ts ~에서 유래하다 실버.오더.오더_ts ~을 통해 MAX()하위 쿼리 별칭 에스 문제는 해결되었습니다. 계보는 중간 테이블이 아닌 실제 소스 테이블을 가리킵니다.
SQLFlow가 무엇을 분류하는지도 마찬가지로 중요합니다. 간접 혈통: 실버.주문.상태 목표물에 절대 명중하지 않지만, 어디 해당 필터는 병합된 모든 값의 모양을 조정합니다. 고객 ID 두 가지 모두 구동합니다 그룹화 기준 그리고 일치 조건. SQLFlow는 직접적인 데이터 흐름과 간접적인 영향을 별개의, 별도로 전환 가능한 관계 유형으로 모델링합니다. 대부분의 경쟁 도구는 이러한 구분을 하지 않는데, 이는 "변경하면 어떻게 될까요?"라고 질문할 때 정확히 필요한 기능입니다. 상태 어휘력으로 고객 생애 가치(LTV)를 깨뜨리는 것일까요? 솔직히 말하면 그렇습니다. 그리고 영향력을 인식하는 계보만이 이를 보여줍니다.
Databricks로 마이그레이션(또는 Databricks에서 마이그레이션)
마이그레이션은 팀이 플랫폼 외부에서 Databricks SQL을 분석하는 가장 일반적인 이유 중 하나입니다. Unity Catalog는 마이그레이션 계획을 세우는 데 도움이 되지 않습니다. 필요한 코드 계보가 Databricks에서 실행된 적이 없는 코드를 설명하기 때문입니다. 파서 기반 워크플로는 이러한 문제를 해결합니다.
- 원천 부동산을 지도화하세요. Oracle, Teradata, SQL Server 등 기존 SQL(저장 프로시저 및 그 안에 포함된 동적 SQL 포함)을 SQLFlow를 통해 실행하여 실제 종속성 그래프를 얻으세요. 이를 통해 어떤 코드를 먼저 마이그레이션해야 하고 어떤 코드가 더 이상 사용되지 않는 코드인지 알 수 있습니다.
- 재작성된 내용을 검증합니다. 재작성된 Databricks SQL을 Databricks 다이얼렉트 파서로 분석하고 계보 그래프를 비교하십시오. 대상 열의 소스가 Teradata 버전과 Delta 버전 간에 변경된 경우, 출시 전에 재작성 버그를 발견한 것입니다.
- 고아 항목이 없는지 확인하십시오. 전환 후 두 환경을 일괄 스캔합니다. SQLFlow는 100개 이상의 데이터베이스와 백만 개 이상의 열을 포함하는 환경을 처리하며, 영구적인 계보 저장소에 증분 스캔을 수행합니다.
동일한 언어 간 호환성은 역방향 또는 수평 이동에도 적용됩니다. 예를 들어, 데이터 웨어하우스의 일부가 Snowflake로 이전되는 경우에도 마찬가지입니다. 스노우플레이크 계보 워크플로 두 플랫폼은 동일한 엔진을 사용하므로 결과적으로 하나의 비교 가능한 그래프에 표시됩니다.
Databricks 데이터 계보를 DataHub, Purview 또는 OpenMetadata로 내보내기
카탈로그 우선 플랫폼은 메타데이터를 위한 훌륭한 기록 시스템이며, 많은 조직에서 모든 데이터 플랫폼에 걸쳐 이러한 시스템 사용을 의무화하고 있습니다. SQLFlow는 그 밑에서 데이터 계보 엔진 역할을 합니다. SQL을 파싱하고, 열 수준 및 간접 계보를 계산한 다음, 전용 내보내기 어댑터를 통해 결과를 출력합니다. DataHub, Microsoft Purview 및 OpenMetadataJSON 및 CSV 내보내기 기능과 REST API를 통해 모든 사용자 정의 기능을 지원합니다.
이는 멀티 플랫폼 문제에 대한 실질적인 해결책이기도 합니다. 서로 다른 모델을 사용하는 두 개의 추출기가 생성한 계보를 하나의 그래프로 통합하는 것은 어렵습니다. 39개 방언 모두에 대해 하나의 그래프를 생성하고 이미 실행 중인 카탈로그로 내보내는 단일 파서를 사용하면 이 문제를 해결할 수 있습니다.
실행 방법
| 옵션 | ~에 가장 적합함 | 메모 |
|---|---|---|
| SQLFlow 클라우드 | 오늘 실제 Databricks SQL 환경에서 테스트해 보겠습니다. | 브라우저에서 무료로 이용 가능하며, 프리미엄 서비스는 월 $49.99달러입니다. |
| 온프레미스 SQLFlow | 규제 환경; SQL은 내부에서만 사용해야 합니다. | Docker/Kubernetes, 에어갭 환경 지원; 데이터베이스 유형별 월 $500 또는 일회성 $4,800, 두 대의 서버에 설치 가능 |
| REST API / CLI / 자바 라이브러리 | CI 또는 자체 플랫폼에서 계보 자동화 | 동일한 엔진을 사용하지만 헤드리스 방식으로 작동하며, 30개 이상의 메서드 API를 제공하는 임베더블 JavaScript 위젯을 통해 제품에 다이어그램을 렌더링할 수 있습니다. |
자주 묻는 질문
SQLFlow가 Unity Catalog 계보를 대체하나요?
아니요, 보완하는 관계입니다. Unity Catalog는 자동으로 실행되는 워크로드의 계보를 기록합니다. SQLFlow는 SQL을 정적으로 분석하므로 실행 전 코드(마이그레이션), Unity Catalog 외부에서 실행되는 SQL, Databricks 및 기타 플랫폼을 아우르는 환경까지 모두 분석할 수 있으며, 그 결과를 DataHub, Purview 또는 OpenMetadata로 내보낼 수 있습니다.
SQLFlow는 Databricks 작업 공간이나 데이터에 대한 접근 권한이 필요한가요?
아니요. SQLFlow는 SQL 코드에 대한 정적 분석을 수행하며, 필요에 따라 스키마 메타데이터를 사용하여 참조를 해결합니다. Delta 테이블의 행을 읽는 작업은 절대 수행하지 않습니다. 온프레미스 에디션의 경우 SQL 텍스트조차도 네트워크 내에 유지됩니다.
SQLFlow는 MERGE INTO 문을 통해 계보를 추적할 수 있습니까?
네. 델타 항공의 경우요. 병합하다SQLFlow는 이를 해결합니다. 사용 서브쿼리는 각 대상 열을 실제 소스 열에 매핑합니다. 업데이트 그리고 끼워 넣다 분기를 만들고, 일치 조건과 필터를 간접(영향) 계보로 분류합니다.
Databricks는 SQLFlow의 Spark SQL과 별개의 방언인가요?
예. SQLFlow에서 지원하는 39개의 방언트 목록에는 Databricks와 Spark SQL이 별도로 나열되어 있으며, 각 방언트에는 Spark SQL 제품군에 속하는 자체 파서가 있습니다. Databricks를 기반으로 작성된 SQL의 경우 Databricks를 선택하세요. 전용 파서도 제공됩니다. Spark SQL 계보 페이지 오픈소스 Spark 워크로드용입니다.
Databricks의 dbt 프로젝트와 호환되나요?
예. dbt 매니페스트를 가져오면 SQLFlow가 Databricks 방언을 사용하여 컴파일된 SQL을 구문 분석하고 모델 전체에 걸쳐 열 수준의 계보를 생성합니다.
SQLFlow 비용은 얼마인가요?
SQLFlow 클라우드는 무료로 시작하며, 프리미엄 버전은 월 $49.99입니다. 온프레미스 버전은 월 $500 또는 선택한 데이터베이스 유형당 1회 $4,800입니다. 자세한 내용은 해당 웹사이트를 참조하십시오. 가격 페이지.
지금 바로 Databricks 사용 내역을 추적해 보세요.
Spark SQL 쿼리 또는 Delta MERGE 결과를 무료 시각화 도구에 붙여넣거나, 전체 마이그레이션 환경을 스캔하는 것에 대해 저희와 상담해 보세요.