Databricks SQL 경고란?
Databricks SQL 경고는 정기적으로 쿼리를 실행하고, 정의된 조건을 평가하고, 조건이 충족되면 알림을 보냅니다. 경고를 set 보고된 데이터가 예상 한도를 벗어나면 비즈니스를 모니터링하고 알림을 보낼 수 있습니다. 경고 예약은 기본 쿼리를 실행하고 경고 조건을 확인합니다. 이는 기본 쿼리에 있을 수 있는 일정과는 독립적입니다.
Important
- parameters 사용하여 쿼리를 활용하는 경고는 각 매개 변수에 대해 SQL 편집기에서 지정된 기본값을 사용합니다.
경고 보기 및 구성
다음 옵션 중 하나를 사용하여 경고에 액세스합니다.
- 사이드바에서 작업 영역 를 클릭하여 경고를 기본적으로 저장되는 Home 폴더 where 에서 확인합니다. 사용자는 다른 Databricks 개체와 함께 작업 영역 브라우저의 폴더로 경고를 구성할 수 있습니다.
- 사이드바에서 경고를 클릭하여 경고 목록 페이지를 봅니다.
기본적으로 개체는 시간의 역순으로 정렬됩니다. column 헤더를 클릭하여 list 순서를 변경할 수 있습니다. 화면 위쪽에 있는 모든 경고 탭을 클릭하여 작업 영역의 모든 경고를 봅니다. 내 경고 탭을 클릭하여 소유자인 where 경고를 봅니다.
- 이름은 각 경고의 문자열 이름을 표시합니다.
-
상태는 경고 상태를
TRIGGERED
,OK
또는UNKNOWN
으로 표시합니다. - 마지막 업데이트는 마지막 업데이트 시간 또는 날짜를 표시합니다.
-
만든 시간은 경고가 생성된 날짜와 시간을 표시합니다.
-
TRIGGERED
가장 최근 실행 시 대상 쿼리의 값 column 구성한 조건 및 임계값을 충족했음을 의미합니다. "고양이"가 1500마리를 초과하는지 확인하는 경고인 경우 "고양이"가 1500마리를 초과하는 한 경고가 트리거됩니다. -
OK
가장 최근의 쿼리 실행에서 Value column 구성한 조건 및 임계값을 충족하지 못했음을 의미합니다. 경고가 이전에 트리거되지 않았다는 의미는 아닙니다. "고양이" 값이 현재 1470인 경우 경고가OK
로 표시됩니다. -
UNKNOWN
는 Databricks SQL에 경고 조건을 평가하기에 충분한 데이터가 없음을 의미합니다. 경고를 만든 직후부터 쿼리가 실행될 때까지 이 상태가 표시됩니다. 쿼리 결과에 데이터가 없거나 가장 최근의 쿼리 결과에 구성한 값 Column 포함되지 않은 경우에도 이 상태가 표시됩니다.
-
경고 만들기
쿼리의 단일 column에 경고를 만들려면 다음 단계를 수행하십시오.
다음 중 하나를 수행합니다.
- 사이드바에서
새 아이콘 새 클릭하고 경고. - 사이드바에서 경고를 클릭하고 + 새 경고 단추를 클릭합니다.
- 사이드바에서 작업 영역을 클릭하고 + 경고 만들기를 클릭합니다.
- 사이드바에서
쿼리 필드에서 대상 쿼리를 검색합니다.
여러 columns에 대해 경고할 경우 쿼리를 수정해야 합니다. 경고 집계를 참조 하세요.
트리거 조건 필드에서 경고를 구성합니다.
값의 column 드롭다운은 쿼리 결과의 어느 필드가 평가되는지를 결정합니다. 경고 조건은 쿼리 결과에서 column의 첫 번째 값에서 set 수 있거나, 또는 SUM이나 AVERAGE와 같은 집계 함수를 단일 column의 모든 행에 걸쳐 적용하도록 set을(를) 선택할 수 있습니다.
연산자 드롭다운은 적용할 논리 작업을 제어합니다.
텍스트 입력에
임계값은 지정한 조건을 사용하여 값 비교됩니다.
경고 미리 보기를 클릭하여 경고를 미리 확인하고 경고가 현재 데이터로 트리거되는지 여부를 테스트합니다.
경고가 트리거될 때, 알림 필드에 알림이 트리거되었을 때 전송할 알림의 수를 select 입력합니다.
-
한 번만: 경고 상태가
TRIGGERED
알림을 보냅니다. -
알림이 평가될 때마다: 이전 평가에서의 상태와 상관없이 알림 상태가
TRIGGERED
일 때마다 알림을 보냅니다. -
최대 모든 경우: 경고 상태가
TRIGGERED
특정 간격일 때마다 알림을 보냅니다. 이 옵션을 사용하면 자주 트리거되는 경고에 대한 알림 스팸을 방지할 수 있습니다.
선택한 알림 설정에 관계없이 상태가
OK
에서TRIGGERED
또는TRIGGERED
에서OK
로 바뀔 때마다 알림을 받습니다. 일정 설정은 한 실행에서 다음 실행까지 상태가TRIGGERED
인 경우 수신할 알림 수에 영향을 줍니다. 자세한 내용은 알림 빈도를 참조하세요.-
한 번만: 경고 상태가
템플릿 드롭다운에서 템플릿을 선택합니다.
- 기본 템플릿 사용: 경고 알림은 경고 구성 화면과 쿼리 화면에 대한 링크가 있는 메시지입니다.
-
사용자 지정 템플릿 사용: 경고 알림에는 경고에 대한 보다 구체적인 정보가 포함됩니다.
제목 및 본문에 대한 입력 필드로 구성된 상자가 표시됩니다. 모든 정적 콘텐츠가 유효하며 기본 제공 템플릿 변수를 통합할 수 있습니다.
-
ALERT_STATUS
: 평가된 경고 상태(문자열). -
ALERT_CONDITION
: 경고 조건 연산자(문자열). -
ALERT_THRESHOLD
: 경고 임계값(문자열 또는 숫자). -
ALERT_COLUMN
: 경고 column 이름(문자열)입니다. -
ALERT_NAME
: 경고 이름(문자열). -
ALERT_URL
: 경고 페이지 URL(문자열)입니다. -
QUERY_NAME
: 연결된 쿼리 이름(문자열)입니다. -
QUERY_URL
: 연결된 쿼리 페이지 URL(문자열). -
QUERY_RESULT_TABLE
: 쿼리 결과 HTML table(문자열)입니다. 결과는 처음 100개 행으로 제한됩니다. -
QUERY_RESULT_VALUE
: 쿼리 결과 값(문자열 또는 숫자). -
QUERY_RESULT_ROWS
: 쿼리 결과 행(값 배열). -
QUERY_RESULT_COLS
: 쿼리 결과 columns(문자열 배열)입니다.
예를 들어, 예제 제목은
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
가 될 수 있습니다.-
HTML을 사용하여 사용자 지정 템플릿에서 메시지의 서식을 지정할 수 있습니다. 템플릿에서 허용되는 태그 및 특성은 다음과 같습니다.
- Tags:
<a>
, ,<abbr>
,<acronym>
,<b>
,<blockquote>
,<body>
<br>
,<code>
,<div>
,<em>
,<h1>
,<h2>
,<h3>
,<h4>
<h5
>,<h6
>,<head
><hr>
,<html>
<i>
<li>
<ol>
<p>
<span>
<strong>
,<table>
, ,<tbody>
,<td>
<th>
, ,<tr>
<ul>
- 특성: href(
<a>
의 경우), title(<a>
,<abbr>
,<acronym>
의 경우)
- Tags:
미리 보기 토글 단추를 클릭하여 렌더링된 결과를 미리 봅니다.
Important
미리 보기는 템플릿 변수가 올바르게 렌더링되는지 확인하는 데 유용합니다. 각 알림 대상이 알림을 다르게 표시할 수 있으므로 최종 알림 콘텐츠의 정확한 표현은 아닙니다.
변경 내용 저장 단추를 클릭합니다.
경고 만들기를 클릭합니다.
일정 추가를 클릭합니다.
- 드롭다운 선택기를 사용하여 빈도, 기간, 시작 시간, 표준 시간대를 지정합니다. 필요에 따라 cron 구문 확인란을 selectQuartz Cron 구문일정을 편집합니다.
- 선택적 설정을 표시하려면 추가 옵션을 선택합니다. 다음을 선택할 수도 있습니다.
- 일정의 이름입니다.
- 쿼리를 구동하는 SQL 웨어하우스입니다. 기본적으로 임시 쿼리 실행에 사용되는 SQL 웨어하우스는 예약된 작업에도 사용됩니다. 이 선택적 설정을 사용하여 다른 웨어하우스를 select 예약된 쿼리를 실행합니다.
일정 추가 대화 상자에서 대상 탭을 클릭합니다.
- 사용 가능한 알림 대상로 설정하려면 드롭다운을 사용하여 select하십시오. 또는 사용자 이름을 입력하여 개인을 추가합니다.
Important
이 단계를 건너뛰면 경고가 트리거될 때 알림이 표시되지 않습니다 .
만들기를 클릭합니다. 저장된 경고 및 알림 세부 정보가 화면에 표시됩니다.
일정을 공유합니다.
- 나열된 일정의 오른쪽에서 케밥 메뉴를 선택하고 select일정 사용 권한 편집을 선택합니다.
- 대화 상자의 드롭다운 메뉴에서 사용자 또는 그룹을 선택합니다.
- 다음 일정 권한 중에서 선택합니다.
- 사용 권한 없음: 권한이 부여되지 않았습니다. 권한이 없는 사용자는 구독자이거나 나열된 알림 대상에 포함된 경우에도 일정이 존재하는 것을 볼 수 없습니다.
- CAN VIEW: 예약된 실행 결과를 볼 수 있는 권한을 부여합니다.
- CAN MANAGE RUN: 예약된 실행 결과를 볼 수 있는 권한을 부여합니다.
- CAN MANAGE: 일정을 보고 수정하고 삭제할 수 있는 권한을 부여합니다. 이 권한은 실행 간격을 변경하고 구독자가 listupdate 일정을 일시 중지하거나 일시 중지 해제하는 데 필요합니다.
- IS OWNER: CAN MANAGE의 모든 권한을 부여합니다. 또한 일정 소유자의 credentials이 대시보드 쿼리를 실행하는 데 사용됩니다. 작업 영역 관리자만 소유자를 변경할 수 있습니다.
Important
경고 및 일정에 대한 사용 권한은 별개입니다. Grant 알림 대상의 사용자 및 그룹에 대한 액세스를 제공하여 예약된 실행 결과를 볼 수 있도록 합니다. list
경고를 공유합니다.
- 페이지의 오른쪽 위 근처를 클릭합니다 .
- 경고에 액세스할 수 있어야 하는 사용자 또는 그룹을 추가합니다.
- 적절한 사용 권한 수준을 선택한 다음 추가를 클릭합니다.
Important
CAN MANAGE는 일정을 보고 수정하고 삭제할 수 있는 권한을 부여합니다. 이 권한은 실행 간격을 변경하고 알림 대상 listupdate 일정을 일시 중지하거나 일시 중지 해제하는 데 필요합니다.
경고 권한 수준에 대한 자세한 내용은 경고 ACL을 참조 하세요.
경고 집계
경고에 대한 집계는 경고에 연결된 Databricks SQL 쿼리의 원래 SQL을 수정하여 작동합니다. 경고는 원래 쿼리 텍스트를 CTE(공통 table 식)로 래핑하고 래핑 집계 쿼리를 수행하여 쿼리 결과를 집계합니다.
예를 들어 텍스트 SUM
가 SELECT 1 AS column_name
있는 쿼리에 연결된 경고에 대한 집계는 경고가 새로 고쳐질 WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
때마다 실행되는 수정된 SQL이 다음과 같은 것을 의미합니다.
즉, 경고에 집계가 있을 때마다 원래 쿼리 결과(미리 집계됨)를 경고 사용자 지정 본문(QUERY_RESULT_ROWS
및 QUERY_RESULT_COLS
같은 parameters 포함)에 표시할 수 없습니다. 대신 이러한 변수는 집계 후 최종 쿼리 결과만 표시합니다.
참고 항목
집계와 관련된 모든 트리거 조건은 API에서 지원되지 않습니다.
여러 columns 경고
쿼리의 여러 columns에 기반하여 경고를 set하려면, 쿼리가 경고 논리를 구현하고 트리거할 경고의 부울 값을 반환할 수 있어야 합니다. 예시:
SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data
이 쿼리는 다음과 같은 경우1
를 반환합니다drafts_count > 10000 and archived_count > 5000
.
그런 다음 값이 될 때 트리거하도록 경고를 구성할 수 있습니다 1
.
알림 빈도
Databricks SQL은 경고 상태가 그 반대로 변경 OK
되었음을 감지할 TRIGGERED
때마다 선택한 알림 대상으로 알림을 보냅니다.
경고가 매일 한 번 실행되도록 예약된 쿼리에서 구성된 where 이 예제를 생각해 보세요. 경고의 일별 상태는 다음 table에 나타납니다.
월요일 이전의 경고 상태는 다음과 이었습니다 OK
.
Day | 경고 상태 |
---|---|
월요일 | OK |
화요일 | OK |
수요일 | 트리거 |
목요일 | 트리거 |
금요일 | 트리거 |
토요일 | 트리거 |
일요일 | OK |
알림 빈도가 set에서 Just Once
사이인 경우, 상태가 OK
에서 TRIGGERED
으로 변경될 때 수요일에 Databricks SQL이 알림을 보내고, 일요일에 다시 상태가 전환될 때 또다시 알림을 보냅니다. 해당 날짜의 실행 간에 경고 상태가 변경되지 않았기 때문에 특별히 구성하지 않는 한 목요일, 금요일 또는 토요일에는 경고를 보내지 않습니다.
경고 권한 구성 및 경고 소유권 이전
쿼리를 공유하려면 쿼리에 대한 CAN MANAGE 권한이 있어야 합니다. 경고 권한 수준은 경고 ACL을 참조 하세요.
사이드바에서 경고를 클릭합니다.
경고를 클릭합니다.
오른쪽 위에 있는 단추를 클릭하여 공유 대화 상자를 엽니다.
그룹 및 사용자를 검색하고 select 사용 권한 수준을 할당합니다.
추가를 클릭합니다.
경고의 소유권 이전
경고를 저장하면 경고의 소유자가 됩니다. 경고의 소유자가 작업 영역에서 제거되면 경고에 더 이상 소유자가 없습니다. 작업 영역 관리자 사용자는 경고의 소유권을 다른 사용자에게 이전할 수 있습니다. 서비스 주체 및 그룹은 경고의 소유권을 할당할 수 없습니다. 권한 API를 사용하여 소유권을 이전할 수도 있습니다.
작업 영역 관리자로 Azure Databricks 작업 영역에 로그인합니다.
사이드바에서 경고를 클릭합니다.
경고를 클릭합니다.
오른쪽 위에 있는 공유 단추를 클릭하여 공유 대화 상자를 엽니다.
오른쪽 상단의 톱니바퀴 아이콘을 클릭하고 새 소유자 지정을 클릭합니다.
소유권을 할당할 사용자 Select입니다.
확인을 클릭합니다.