지원되는 PPL 명령 - Amazon OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

지원되는 PPL 명령

다음 참조 표에는 CloudWatch 로그, Amazon S3 또는 Security Lake에서 OpenSearch 데이터를 쿼리하기 위해 Discover에서 지원되는 PPL 명령과 CloudWatch Logs Insights에서 지원되는 PPL 명령이 나와 있습니다. CloudWatch Logs Insights에서 지원되는 구문과 CloudWatch 로그 쿼리를 위해 OpenSearch Discover에서 지원되는 PPL 구문은 동일하며 다음 표에서 CloudWatch 로그로 참조됩니다.

참고

OpenSearch 서비스 외부에서 데이터를 분석할 때 명령은 OpenSearch 인덱스와 다르게 실행될 수 있습니다.

명령

PPL 명령 설명 CloudWatch 로그 Amazon S3 Security Lake 명령 예제:
필드 명령 프로젝션이 필요한 필드 세트를 표시합니다. 지원됨 지원됨 지원됨
fields field1, field2
여기서 명령은

지정한 조건에 따라 데이터를 필터링합니다.

지원됨 지원됨 지원됨
where field1="success" | where field2 != "i -023fe0a90929d8822" | fields field3, col4, col5, col6 | head 1000
stats 명령

집계 및 계산을 수행합니다.

지원됨 지원됨 지원됨
stats count(), count(`field1`), min(`field1`), max(`field1`), avg(`field1`) by field2 | head 1000
구문 분석 명령

문자열에서 정규식(정규 표현식) 패턴을 추출하고 추출된 패턴을 표시합니다. 추출된 패턴을 사용하여 새 필드를 생성하거나 데이터를 필터링할 수 있습니다.

지원됨 지원됨 지원됨
parse `field1` ".*/(?<field2>[^/]+$)" | where field2 = "requestId" | fields field2, `field2` | head 1000
패턴 명령

텍스트 필드에서 로그 패턴을 추출하고 검색 결과에 결과를 추가합니다. 패턴을 기준으로 로그를 그룹화하면 분석 및 문제 해결을 위해 대량의 로그 데이터에서 통계를 더 쉽게 집계할 수 있습니다.

지원되지 않음 지원됨 지원됨
patterns new_field='no_numbers' pattern='[0-9]' message | fields message, no_numbers
sort 명령

표시된 결과를 필드 이름으로 정렬합니다. 정렬 -FieldName를 사용하여 내림차순으로 정렬합니다.

지원됨 지원됨 지원됨
stats count(), count(`field1`), min(`field1`) as field1Alias, max(`field1`), avg(`field1`) by field2 | sort -field1Alias | head 1000
eval 명령

필드의 값을 수정하거나 처리하고 다른 필드에 저장합니다. 이는 열을 수학적으로 수정하거나, 열에 문자열 함수를 적용하거나, 열에 날짜 함수를 적용하는 데 유용합니다.

지원됨 지원됨 지원됨
eval field2 = `field1` * 2 | fields field1, field2 | head 20
이름 바꾸기 명령

검색 결과에서 하나 이상의 필드 이름을 변경합니다.

지원됨 지원됨 지원됨
rename field2 as field1 | fields field1
헤드 명령

표시된 쿼리 결과를 frst N 행으로 제한합니다.

지원됨 지원됨 지원됨
fields `@message` | head 20
grok 명령

정규식을 기반으로 grok 패턴으로 텍스트 필드를 구문 분석하고 검색 결과에 결과를 추가합니다.

지원됨 지원됨 지원됨
grok email '.+@%{HOSTNAME:host}' | fields email
상단 명령

필드의 가장 빈번한 값을 찾습니다.

지원됨 지원됨 지원됨
top 2 Field1 by Field2
dedup 명령

지정한 필드를 기반으로 중복 항목을 제거합니다.

지원됨 지원됨 지원됨
dedup field1 | fields field1, field2, field3
조인 명령

두 데이터 세트를 함께 조인합니다.

지원되지 않음 지원됨 지원됨
source=customer | join ON c_custkey = o_custkey orders | head 10
조회 명령

조회 인덱스(차원 테이블)의 데이터를 추가하거나 대체하여 검색 데이터를 강화합니다. 차원 테이블의 값으로 인덱스의 필드를 확장하거나 조회 조건이 일치할 때 값을 추가하거나 바꿀 수 있습니다.

지원되지 않음 지원됨 지원됨
where orderType = 'Cancelled' | lookup account_list, mkt_id AS mkt_code replace amount, account_name as name | stats count(mkt_code), avg(amount) by name
하위 쿼리 명령 파이프 처리 언어(PPL) 문 내에서 복잡하고 중첩된 쿼리를 수행합니다. 지원되지 않음 지원됨 지원됨
where id in [ subquery source=users | where user in [ subquery source=actions | where action="login" | fields user ] | fields uid ]
희귀 명령

필드 목록에 있는 모든 필드의 가장 빈도가 낮은 값을 찾습니다.

지원됨 지원됨 지원됨
rare Field1 by Field2
추세선 명령 필드의 이동 평균을 계산합니다. 지원됨 지원됨 지원됨
trendline sma(2, field1) as field1Alias
eventstats 명령 계산된 요약 통계로 이벤트 데이터를 강화합니다. 이벤트 내에서 지정된 필드를 분석하고 다양한 통계 측정값을 계산한 다음 이러한 결과를 각 원래 이벤트에 새 필드로 추가합니다.

지원됨( 제외count())

지원됨 지원됨
eventstats sum(field1) by field2
평면화 명령

필드를 평면화합니다. 필드는 다음 유형이어야 합니다. struct<?,?> or array<struct<?,?>>

지원되지 않음 지원됨 지원됨
source=table | flatten field1
필드 요약 각 필드(개수, 고유 개수, 최소값, 최대값, 평균, stddev 및 평균)에 대한 기본 통계를 계산합니다. 지원됨(쿼리당 필드 1개) 지원됨 지원됨
where field1 != 200 | fieldsummary includefields=field1 nulls=true
fillnull 명령 null 필드에 입력한 값을 채웁니다. 하나 이상의 필드에 사용할 수 있습니다. 지원되지 않음 지원됨 지원됨
fields field1 | eval field2=field1 | fillnull value=0 field1
명령 확장 여러 값이 포함된 필드를 별도의 행으로 나누어 지정된 필드의 각 값에 대해 새 행을 생성합니다. 지원되지 않음 지원됨 지원됨
expand employee | stats max(salary) as max by state, company
describe 명령

테이블, 스키마 및 카탈로그의 구조 및 메타데이터에 대한 자세한 정보를 가져옵니다.

지원되지 않음 지원됨 지원됨
describe schema.table

함수

PPL 함수 설명 CloudWatch 로그 Amazon S3 Security Lake 명령 예제:

PPL 문자열 함수

(CONCAT, CONCAT_WS, LENGTH, LOWER, LTRIM, POSITION, REVERSE, RIGHT, RTRIM, SUBSTRING, TRIM, UPPER)

PPL 쿼리 내에서 문자열 및 텍스트 데이터를 조작하고 변환할 수 PPL 있는의 내장 함수입니다. 예를 들어 변환 사례, 문자열 결합, 부분 추출, 텍스트 정리 등이 있습니다.

지원됨 지원됨 지원됨
eval col1Len = LENGTH(col1) | fields col1Len

PPL 날짜 및 시간 함수

(DAY, DAYOFMONTH, DAY_OF_MONTH,DAYOFWEEK, DAY_OF_WEEK, DAYOFYEAR, DAY_OF_YEAR, DAYNAME, FROM_UNIXTIME, HOUR, HOUR_OF_DAY, LAST_DAY, LOCALTIMESTAMP, LOCALTIME, MAKE_DATE, MINUTE, MINUTE_OF_HOUR, MONTH, MONTHNAME, MONTH_OF_YEAR, NOW, QUARTER, SECOND, SECOND_OF_MINUTE, SUBDATE, SYSDATE, TIMESTAMP, UNIX_TIMESTAMP, WEEK, WEEKDAY, WEEK_OF_YEAR, DATE_ADD, DATE_SUB, TIMESTAMPADD, TIMESTAMPDIFF, UTC_TIMESTAMP, CURRENT_TIMEZONE)

PPL 쿼리에서 날짜 및 타임스탬프 데이터를 처리하고 변환하기 위한 내장 함수입니다. 예: date_add, date_format, datediffcurrent_date.

지원됨 지원됨 지원됨
eval newDate = ADDDATE(DATE('2020-08-26'), 1) | fields newDate

PPL 조건 함수

(EXISTS, IF, IFNULL, ISNOTNULL, ISNULL, NULLIF)

여러 행에서 계산을 수행하여 단일 요약 값을 생성하는 내장 함수입니다. 예를 들어, 합계, 개수, 평균, 최대값최소값입니다.

지원됨 지원됨 지원됨
eval field2 = isnull(col1) | fields field2, col1, field3

PPL 수학 함수

(ABS, ACOS, ASIN, ATAN, ATAN2, CEIL, CEILING, CONV, COS, COT, CRC32, DEGREES, E, EXP, FLOOR, LN, LOG, LOG2, LOG10, MOD, PI. POW, POWER, RADIANS, RAND, ROUND, SIGN, SIN, SQRT, CBRT)

PPL 쿼리에서 수학적 계산 및 변환을 수행하기 위한 내장 함수입니다. 예: abs(절대값), round(반올림 숫자), sqrt(제곱근), pow(전력 계산) 및 ceil(가장 가까운 정수로 반올림).

지원됨 지원됨 지원됨
eval field2 = ACOS(col1) | fields col1

PPL 표현식

(산술 연산자(+, -, *), 예측 연산자(>. <, IN))

표현식, 특히 값 표현식에 대한 내장 함수는 스칼라 값을 반환합니다. 표현식의 유형과 형식은 다릅니다.

지원됨 지원됨 지원됨
where age > (25 + 5) | fields age

PPL IP 주소 함수

(CIDRMATCH)

와 같은 IP 주소를 처리하기 위한 내장 함수입니다CIDR.

지원되지 않음 지원됨 지원됨
where cidrmatch(ip, '***********/24') | fields ip

PPL JSON 함수

(ARRAY_LENGTH, ARRAY_LENGTH, JSON, JSON_ARRAY, JSON_EXTRACT, JSON_KEYS, JSON_OBJECT, JSON_VALID, TO_JSON_STRING)

배열, 추출 및 검증을 JSON 포함한 처리를 위한 내장 함수입니다.

지원되지 않음 지원됨 지원됨
eval `json_extract('{"a":"b"}', '$.a')` = json_extract('{"a":"b"}', '$a')

PPL Lambda 함수

(EXISTS, FILTER, REDUCE, TRANSFORM)

배열, 추출 및 검증을 JSON 포함한 처리를 위한 내장 함수입니다.

지원되지 않음 지원됨 지원됨
eval array = json_array(1, -1, 2), result = filter(array, x -> x > 0) | fields result

PPL 암호화 해시 함수

(MD5, SHA1, SHA2)

검증, 비교 또는 보다 복잡한 보안 프로토콜의 일부로 사용할 수 있는 고유한 데이터 지문을 생성할 수 있는 내장 함수입니다.

지원됨 지원됨 지원됨
eval `MD5('hello')` = MD5('hello') | fields `MD5('hello')`

를 사용하는 CloudWatch Logs Insights 사용자에 대한 추가 정보 OpenSearch PPL

CloudWatch Logs Insights는 대부분의 OpenSearch PPL 명령 및 함수를 지원하지만 일부 명령 및 함수는 현재 지원되지 않습니다. 예를 들어 현재에서 , JOIN조회 또는 하위 쿼리를 지원하지 않습니다PPL. 지원되는 쿼리 명령 및 함수의 전체 목록은 위 표의 Amazon CloudWatch Logs 열을 참조하세요.

샘플 쿼리 및 할당량

다음은 CloudWatch Logs Insights 사용자와 CloudWatch 데이터를 쿼리하는 OpenSearch 사용자 모두에게 적용됩니다.

OpenSearch 서비스에서 CloudWatch 로그를 쿼리할 때 적용되는 제한에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 로그 할당량을 참조하세요. CloudWatch 제한에는 쿼리할 수 있는 CloudWatch 로그 그룹 수, 실행할 수 있는 최대 동시 쿼리 수, 최대 쿼리 실행 시간 및 결과에 반환된 최대 행 수가 포함됩니다. 제한은 CloudWatch 로그 쿼리에 사용하는 언어(즉, OpenSearch PPLSQL, 및 Logs Insights QL)에 관계없이 동일합니다.