Klausul TABLESAMPLE
Berlaku untuk: Databricks SQL Databricks Runtime
Pernyataan TABLESAMPLE
digunakan untuk mengambil sampel relasi.
Sintaks
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
Parameter
percentage PERCENT
Konstanta BILANGAN BULAT atau DESIMAL
percentage
antara 0 dan 100 yang menentukan persentase baris tabel yang akan diambil sampelnya.num_rows ROWS
Ekspresi BILANGAN BULAT positif konstan
num_rows
yang menetapkan jumlah absolut baris dari semua baris yang akan diambil sampelnya.BUCKET fraction OUT OF total
Konstanta BILANGAN BULAT
fraction
yang menentukan bagian dari konstanta BILANGAN BULATtotal
untuk dijadikan sampel.REPEATABLE ( seed )
Berlaku untuk: Databricks SQL Databricks Runtime 11.3 LTS ke atas
Konstanta BILANGAN BULAT positif opsional
seed
, digunakan untuk selalu menghasilkan set baris yang sama. Gunakan klausul ini saat Anda ingin menerbitkan ulang kueri beberapa kali, dan Anda mengharapkan set baris sampel yang sama.
Catatan
TABLESAMPLE
mengembalikan perkiraan jumlah baris atau pecahan yang diminta.- Selalu gunakan
TABLESAMPLE (percent PERCENT)
jika keacakan itu penting.TABLESAMPLE (num_rows ROWS)
bukan sampel acak sederhana tetapi diimplementasikan menggunakanLIMIT
.
Contoh
> CREATE TEMPORARY VIEW test(id, name) AS
VALUES ( 1, 'Lisa'),
( 2, 'Mary'),
( 3, 'Evan'),
( 4, 'Fred'),
( 5, 'Alex'),
( 6, 'Mark'),
( 7, 'Lily'),
( 8, 'Lucy'),
( 9, 'Eric'),
(10, 'Adam');
> SELECT * FROM test;
5 Alex
8 Lucy
2 Mary
4 Fred
1 Lisa
9 Eric
10 Adam
6 Mark
7 Lily
3 Evan
> SELECT * FROM test TABLESAMPLE (30 PERCENT) REPEATABLE (123);
1 Lisa
2 Mary
3 Evan
5 Alex
8 Lucy
> SELECT * FROM test TABLESAMPLE (5 ROWS);
5 Alex
8 Lucy
2 Mary
4 Fred
1 Lisa
> SELECT * FROM test TABLESAMPLE (BUCKET 4 OUT OF 10);
8 Lucy
2 Mary
9 Eric
6 Mark