View a markdown version of this page

AWS Glue Data Catalog에 대한 시맨틱 검색 - AWS Glue

AWS Glue Data Catalog에 대한 시맨틱 검색

참고

AWS Glue의 비즈니스 컨텍스트와 시맨틱 검색은 미리 보기로 제공되며 변경될 수 있습니다.

시맨틱 검색을 사용하면 정확한 키워드 일치 외에도 의미로 데이터 자산을 검색할 수 있습니다. 쿼리와의 시맨틱 유사도에 따라 결과의 순위가 매겨집니다. 자산 유형, 메타데이터 필드 및 용어집 용어에 필터를 사용하여 결과의 범위를 좁힐 수 있습니다.

SearchAssets API 사용

SearchAssets API는 SearchText, FilterClause 또는 둘 다 수락합니다. 둘 다 제공되지 않으면 모든 자산이 반환됩니다. 선택적 파라미터: Sort, MaxResults, NextToken.

텍스트 검색

aws glue search-assets \ --search-text "customer purchases"

출력 예시:

{ "Items": [ {"Id": "c9vq7sh2fk4t2h", "AssetName": "Customer Sales Transactions", "AssetTypeId": "Table"} ] }

--max-results를 사용하여 결과를 제한합니다.

aws glue search-assets \ --search-text "quarterly revenue" \ --max-results 5

검색 결과 필터링

FilterClause를 사용하여 결과 범위를 좁힙니다. 지원되는 필터 유형:

  • AttributeFilter – 연산자: equals, greaterThan, greaterThanOrEquals, lessThan, lessThanOrEquals, notExists.

  • AndAllFilters - 모든 필터가 일치해야 합니다(논리 AND).

  • OrAnyFilters - 하나 이상 일치해야 합니다(논리 OR).

단일 속성으로 필터링하려면

테이블 자산으로만 필터링합니다.

aws glue search-assets \ --search-text "revenue" \ --filter-clause '{ "AttributeFilter": { "Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"} } }'
필터를 AND 로직과 결합하려면

타임스탬프 후 업데이트된 테이블 자산을 찾습니다.

aws glue search-assets \ --search-text "customer data" \ --filter-clause '{ "AndAllFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "updatedAt", "Operator": "greaterThan", "Value": {"LongValue": 1718400000}}} ] }'
필터를 OR 로직과 결합하려면

테이블 또는 스킬 자산을 검색합니다.

aws glue search-assets \ --search-text "customer data" \ --filter-clause '{ "OrAnyFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}} ] }'
용어집 용어로 필터링하려면

특정 용어집 용어로 태그가 지정된 자산으로 필터링합니다(용어 ID 기준).

aws glue search-assets \ --search-text "financial data" \ --filter-clause '{ "AttributeFilter": { "Attribute": "glossaryTerms", "Operator": "equals", "Value": {"StringValue": "glossary-term-id"} } }'
중첩된 AND 및 OR 필터를 사용하려면

특정 용어집 용어가 있는 테이블 또는 스킬 자산을 찾습니다.

aws glue search-assets \ --search-text "customer" \ --filter-clause '{ "AndAllFilters": [ {"OrAnyFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}} ]}, {"AttributeFilter": {"Attribute": "glossaryTerms", "Operator": "equals", "Value": {"StringValue": "glossary-term-id"}}} ] }'

검색 결과 정렬

기본적으로 결과는 시맨틱 관련성을 기준으로 정렬됩니다. 속성을 기준으로 정렬하려면

aws glue search-assets \ --search-text "customer purchases" \ --sort '{"Attribute": "assetName", "Order": "ASCENDING"}'
aws glue search-assets \ --search-text "customer purchases" \ --sort '{"Attribute": "updatedAt", "Order": "DESCENDING"}'
참고

정렬 속성을 지정하면 시맨틱 관련성이 아닌 해당 속성을 기준으로 결과가 정렬됩니다.

검색 결과 페이지 매김

결과가 MaxResults를 초과하면 응답에 NextToken이 포함됩니다. 추가 페이지를 검색하는 데 사용합니다.

aws glue search-assets \ --search-text "customer data" \ --max-results 10 \ --next-token "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7InMiOiJhMWIyYzNkNCJ9fX0="

응답에 NextToken이 더 이상 포함되지 않을 때까지 계속합니다.

필터 전용 쿼리 실행

시맨틱 순위 없이 자산을 나열하려면 SearchText 없이 FilterClause만 사용합니다.

aws glue search-assets \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}' \ --max-results 20
참고

SearchTextFilterClause 모두 생략하면 API가 모든 자산을 반환합니다.

예제

도메인의 스킬 자산을 검색하려면

영업 데이터와 관련된 스킬 자산을 찾습니다.

aws glue search-assets \ --search-text "sales domain usage rules" \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}}'
참고

이 쿼리는 사용자 지정 스킬 자산만 반환합니다. 관리형 스킬은 SearchAssets API에서 반환되지 않습니다.

텍스트 검색 및 정렬을 결합하려면

일치하는 자산에 대한 포괄적인 뷰를 가져옵니다.

aws glue search-assets \ --search-text "customer" \ --sort '{"Attribute": "updatedAt", "Order": "DESCENDING"}' \ --max-results 10