다음을 통해 공유


vector_norm 함수

적용 대상:yes Databricks Runtime 18.1 이상으로 표시된 확인

지정된 각도를 사용하여 벡터의 Lp 규범을 계산합니다.

문법

vector_norm(vector [, degree ])

Arguments

  • vector: ARRAY<FLOAT> 벡터를 나타내는 식입니다.
  • degree: 선택 사항입니다. FLOAT norm 형식을 지정하는 값입니다. 기본값은 2.0(유클리드 표준)입니다. 지원되는 값:
    • 1.0 — L1 norm(맨해튼): 절대값의 합계
    • 2.0 — L2 norm(유클리드): 제곱의 합의 제곱근
    • float('inf') - L∞(무한대 표준): 최대 절대값

Returns

FLOAT 벡터의 norm을 나타내는 값입니다. 결과는 음수가 아닌 것입니다.

빈 벡터에 대해 0.0을 반환합니다. 입력이 포함되는지 NULL 여부를 반환 NULL 합니다.NULL

Notes

  • ARRAY<FLOAT> 지원됩니다. 다른 형식(예: ARRAY<DOUBLE> 오류 발생) ARRAY<DECIMAL> . 지원되지 않는 값은 degreeINVALID_VECTOR_NORM_DEGREE 발생합니다.
  • L2 표준은 조밀한 포함 워크로드에서 가장 일반적입니다. L1은 스파스 및 확률적 애플리케이션에서 사용됩니다. L∞ 최악의 경우 분석에 사용됩니다.

오류 조건

예제

-- L2 norm (Euclidean) - classic 3-4-5 triangle
> SELECT vector_norm(array(3.0f, 4.0f), 2.0f);
  5.0

-- L1 norm (Manhattan)
> SELECT vector_norm(array(3.0f, 4.0f), 1.0f);
  7.0

-- L∞ norm (infinity)
> SELECT vector_norm(array(3.0f, 4.0f), float('inf'));
  4.0

-- Empty vector returns 0.0
> SELECT vector_norm(array(), 2.0);
  0.0