TABLESAMPLE yan tümcesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

deyimi TABLESAMPLE ilişkiyi örneklemek için kullanılır.

Sözdizimi

TABLESAMPLE ( { percentage PERCENT ) |
                num_rows ROWS |
                BUCKET fraction OUT OF total } )
            [ REPEATABLE ( seed ) ]

Parametreler

  • percentage PERCENT

    Tablo satırlarının hangi yüzdesini örnekleneceğini belirten 0 ile 100 arasında bir TAMSAYı veya ONDALıK sabiti percentage .

  • num_rows ROWS

    Örneklenmesi gereken tüm satırlardan mutlak sayıda satır belirten sabit pozitif TAMSAYı ifadesi num_rows .

  • BUCKET fraction OUT OF total

    Örnek için INTEGER sabitinin dışında kalan bölümü belirten BIR INTEGER sabiti fractiontotal .

  • REPEATABLE ( seed )

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

    her zaman aynı satır kümesini oluşturmak için kullanılan isteğe bağlı pozitif TAMSAYı sabiti seed. Sorguyu birden çok kez yeniden göndermek istediğinizde ve aynı örneklenmiş satır kümesini beklediğinizde bu yan tümceyi kullanın.

Not

  • TABLESAMPLE istenen yaklaşık satır veya kesir sayısını döndürür.
  • Rastgelelik önemliyse her zaman kullanın TABLESAMPLE (percent PERCENT) . TABLESAMPLE (num_rows ROWS) basit bir rastgele örnek değildir, bunun yerine kullanılarak LIMITuygulanır.

Örnekler

> 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