Join 연산자
개요
데이터를 다음으로 풍부하게 하기 조인.
| join kind=<kind> <dest>=(<target_query>) on <condition>하나의 조인 가 수행되면, 파이프의 행은 다음의 행과 매칭됩니다 <target_query> 에 기반하여 <condition>. 결과 데이터에는 파이프의 모든 원본 필드가 포함되며, 다음의 필드가 <target_query> 추가되어 <dest> 필드에 들어갑니다. 반환되는 행은 다음에 의해 제어됩니다 <kind>.
<target_query>
<target_query>The target_query 는 조인될 데이터입니다. 단순한 테이블 이름과 같은 유효한 쿼리라면 무엇이든 될 수 있습니다 (some_table) 또는 더 복잡한 문장 (some_table | extend id = a + b).
<condition>
<condition>The <condition> 는 파이프의 어떤 행이 다음의 행과 조인될지 제어하는 데 사용되는 식입니다 <target_query>. 모든 join에 필요합니다 <kind> 를 제외하고 cross 조인입니다. 조인에는 $left 측(파이프)과 $right 측( <target_query>)이 있습니다. 예를 들어, 다음 조건은 $left.id == $right.id 의 동일한 값을 포함하는 행을 매칭합니다 id.
<kind>
<kind>다음으로 어떤 행이 출력될지 제어합니다 kind.
inner
다음에 일치하는 행만 반환합니다 condition.
leftouter
파이프의 모든 행을 다음의 필드로 풍부하게 하여 반환합니다 target_query, 일치하는 항목이 없는 행은 null 다음의 열에 대해 값을 가집니다 target_query.
rightouter
다음의 모든 행을 반환합니다 target_query 파이프의 필드로 풍부하게 하여 반환하며, 일치하는 항목이 없는 행은 null 파이프의 열에 대해 값을 가집니다.
fullouter
파이프와 다음 양쪽의 행을 반환합니다 target_query, 일치하지 않는 행도 포함합니다.
cross
파이프의 모든 행을 다음의 모든 행과 결합하여 반환합니다 target_query .
예시
IP 주소로 조인
파이프에 다음에 IP 주소가 들어 있다고 가정해 봅시다 sourceIP 필드가 있고, 다음 이름의 테이블에 있는 데이터로 이를 풍부하게 하고 싶다고 합시다 ip_location 라는 필드에 IP 주소가 들어 있습니다 ip.
다음과 같은 조인을 사용할 수 있습니다 <condition> 의 $left.sourceIp == $right.ip 를 사용하여 IP 주소를 기준으로 행을 매칭하고 kind=leftouter 를 사용하여 파이프의 모든 행을 반환합니다. — 다음에서 누락되었을 수 있는 행도 포함됩니다 ip_location.
다음을 사용한 조인 tor_exit_nodes 표
tor_exit_nodes 표이 예시는 다음을 사용합니다 inner 조인하여 찾습니다 aws_alb 다음을 포함하는 로그 clientIp 가 Panther에서 관리하는 목록에 포함된 tor_exit_node Enrichment Provider 테이블.
다음을 사용한 조인 ipinfo_location_datalake UDF를 사용하는 테이블
ipinfo_location_datalake UDF를 사용하는 테이블여기서는 더 복잡한 예시를 살펴보겠습니다. Panther에서 관리하는 ipinfo_location_datalake Enrichment Provider 테이블.
이 쿼리는 다음을 사용한다는 점에 유의하세요 snowflake.func 함수를 사용하여 SQL 사용자 정의 함수(UDF)를 호출합니다 panther_lookups.public.ipinfo_to_join_key() 및 panther_lookups.public.ipinfo_to_int(), 이 함수들은 인수로 IP 주소를 받습니다. 이러한 UDF에 대해 더 알아보려면 다음을 참조하세요 IPinfo.
다음을 사용한 조인 datatable
datatable샘플 데이터를 다음에 주입할 수 있습니다 조인 다음을 사용하여 datatable 연산자:
마지막 업데이트
도움이 되었나요?

