1

UPDATE SETの SQL Serverコマンドに相当する最良の (安価な) ものは何Hiveですか?

たとえば、次のクエリを変換する場合を考えてみます。

UPDATE TABLE employee 
SET visaEligibility = 'YES' 
WHERE experienceMonths > 36

同等のHiveクエリに。

4

3 に答える 3

2

パーティションのないテーブルがあると仮定しています。その場合、次のコマンドを実行できるはずです。

INSERT OVERWRITE TABLE employee SELECT employeeId,employeeName, experienceMonths ,salary, CASE WHEN experienceMonths >=36 THEN ‘YES’ ELSE visaEligibility END AS visaEligibility FROM employee;

他にも方法はありますが、もっと複雑です。Bejoy が説明した方法が最も効率的だと思います。

(出典: Bejoy KS ブログ)

パーティション化されたテーブルでこれを行う必要がある場合 (大量のデータがある場合に発生する可能性があります)、これを行うときにパーティションを上書きする必要があることに注意してください。

于 2013-01-09T19:04:02.347 に答える
0

ハイブを 0.14.0 にアップグレードできます

0.14.0 以降のハイブは UPDATE 操作をサポートします。

同じことを行うには、 ACID出力形式をサポートするように Hive テーブルを作成し、 hive-site.xmlで追加のプロパティを設定する必要があります。

Hive で CURD 操作を行う方法

于 2014-11-25T09:17:35.547 に答える
0

外部テーブルを作成し、「ローカル ディレクトリに上書きを挿入」を使用できます。列の値を変更する場合は、「CASE WHEN」、「IF」またはその他の条件付き演算を使用できます。出力ファイルを HDFS の場所にコピーします。

于 2013-09-19T13:13:55.777 に答える