Hiveのサンプルクエリをどのように実現するか

Hiveのサンプリングクエリは、Hiveの組み込みのサンプリング関数やキーワードを使用して実現できます。以下にいくつかの例の方法を示します。

  1. サンプリングする機能を使用する

Hiveには、rand() と randn() の2つのサンプリング関数がネイティブに用意されています。これらの関数は、クエリでランダムサンプリングを実現するために使用できます。たとえば、以下のクエリは、テーブルから10%のデータをランダムに選択してクエリを実行します。

SELECT *
FROM table
WHERE rand() < 0.1;
  1. テーブルサンプルキーワードを使用する。

Hive には TABLESAMPLE キーワードもあり、FROM 句で使用してサンプリング率または行数を指定できます。次に例として示すクエリは、テーブルから 10% のデータを抽出してクエリを実行します。

SELECT *
FROM table TABLESAMPLE (10 PERCENT);

パーセンテージ以外の指定方法としては、単純に行数を指定する方法もあります。例えば、以下のクエリでは表から100行分のデータを抽出します。

SELECT *
FROM table TABLESAMPLE (100 ROWS);

TABLESAMPLE キーワードによるサンプリングクエリでは、サンプリングは Hive テーブルのブロック単位で行われるため、行単位とは異なり、データに偏りが生じる可能性がありますのでご注意ください。

上記はHiveでサンプリングクエリを実現するための2つの一般的な方法であり、あなたのニーズに応じて適切な方法を選択できます。

bannerAds