Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 13.3 LTS ke atas
Mengembalikan bitwise OR dari semua nilai posisi bit antara 0 dan 32767 dalam grup sebagai BINARY.
Fungsi ini biasanya digunakan untuk menghitung jumlah sekumpulan angka integral yang berbeda dalam kombinasi dengan fungsi
Untuk mengagregasi bitmap dalam bentuk numerik integral, gunakan fungsi agregat bit_or().
Sintaks
bitmap_construct_agg(expr) [FILTER ( WHERE cond ) ]
Fungsi ini juga dapat dipanggil sebagai fungsi jendela menggunakan klausa OVER.
Argumen
-
expr: Ekspresi numerik integral antara 0 dan 32767 mewakili posisi bit dalamBINARYstring. -
cond: Ekspresi boolean opsional yang memfilter baris yang digunakan untuk agregasi.
Pengembalian
sebuah BINARY dengan panjang 4096.
Contoh
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(0) AS T(val);
01
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(15) AS T(val);
0080
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val)))
FROM VALUES(1), (3), (7), (15), (31) AS T(val);
8A800080
-- Count the number of distinct values
> SELECT sum(num_distinct) AS num_distinct
FROM (SELECT bitmap_bucket_number(val),
bitmap_count(bitmap_construct_agg(bitmap_bit_position(val)))
FROM VALUES(1), (2), (1), (-1), (5), (0), (5) AS t(val)
GROUP BY ALL) AS distinct_vals_by_bucket(bucket, num_distinct)
5