INTERSECT_COUNT (Lakehouse v1)
두 비트맵 열 사이에서 교차하는 비트의 수를 셉니다.
Analyze 구문
섹션 제목: “Analyze 구문”func.intersect_count(( '<bitmap1>', '<bitmap2>' ), ( <bitmap_column1>, <bitmap_column2> ))Analyze 예제
섹션 제목: “Analyze 예제”# Given a dataset like this:
┌───────────────────────────────────────┐│ id │ tag │ v │├─────────────────┼─────────────────────┤│ 1 │ a │ 0, 1 ││ 3 │ b │ 0, 1, 2 ││ 2 │ c │ 1, 3, 4 │└───────────────────────────────────────┘
# This is producedfunc.intersect_count(('b', 'c'), (v, tag))┌──────────────────────────────────────────────────────────┐│ id │ func.intersect_count('b', 'c')(v, tag) │├─────────────────┼────────────────────────────────────────┤│ 1 │ 0 ││ 3 │ 3 ││ 2 │ 3 │└──────────────────────────────────────────────────────────┘SQL 구문
섹션 제목: “SQL 구문”INTERSECT_COUNT( '<bitmap1>', '<bitmap2>' )( <bitmap_column1>, <bitmap_column2> )SQL 예제
섹션 제목: “SQL 예제”CREATE TABLE agg_bitmap_test(id Int, tag String, v Bitmap);
INSERT INTO agg_bitmap_test(id, tag, v)VALUES (1, 'a', to_bitmap('0, 1')), (2, 'b', to_bitmap('0, 1, 2')), (3, 'c', to_bitmap('1, 3, 4'));
SELECT id, INTERSECT_COUNT('b', 'c')(v, tag)FROM agg_bitmap_test GROUP BY id;
┌─────────────────────────────────────────────────────┐│ id │ intersect_count('b', 'c')(v, tag) │├─────────────────┼───────────────────────────────────┤│ 1 │ 0 ││ 3 │ 3 ││ 2 │ 3 │└─────────────────────────────────────────────────────┘