HOW TO TD(User Engagement)Treasure Data User Engagement

Hive 2020.1へのバージョンアップについて

ホーム » Hive 2020.1へのバージョンアップについて

はじめに

カスタマーレプレゼンタティブチームの関川 誠です。

今回は、Hiveのバージョンアップについてご案内いたします。トレジャーデータでは、長くご利用いただいていたHive 0.13の後継バージョンとして、2020年10月にHive 2020.1を正式版としてリリースいたしました。Hive 2020.1では、Hive 0.13のMapReduceに対し、より効率的な処理を可能とするTezを採用、すでに多くのお客様で処理性能の向上を体感いただいております。一方で、Hive 0.13とHive 2020.1では、ANSI準拠の強化もあり、一部Syntax等の修正が必要なケースがあります。

書き換えが必要となるクエリの例、変更点は、以下の通りです。

  • CROSS JOINにQuery Hintが必須
  • 予約語のescape (“)が必須に
  • TDへのINSERTにDecimalをDouble変換が必要
  • Decimal型精度の統一
  • v columnの利用廃止
  • Insert into<table name>構文のサポート

詳細は、こちらにドキュメントを公開しておりますので、ご参照ください。バージョン移行にあたり、SQLの書き換え不要なケースもありますが、既存クエリの動作確認をお願いいたします。

動作確認方法

移行方法は、1) Syntaxチェックのみを行う、2) 処理結果のデータで比較する2つの方法をご紹介しています。詳細はこちらをご参照ください。

  1. Syntaxチェックのみを行うでは、EXPLAINをQueryの前に記載することで、Queryのチェックのみで、本番環境に影響を与えずに非互換のチェックが可能です。
  2. 処理結果のデータで比較するでは、一時テーブルを用意し、そちらにHive 2020.1での処理結果を書き出すことで、Hive 0.13とのデータでの比較が可能です。

コンソールでHive 2020.1を利用するには、図の通り、対象QueryのTypeをHive 2020.1 (Stable)に変更します。また、データを書き出して比較する場合は、INSERT INTO (または INSERT OVERWRITE)で一時テーブルに書き出しを行ってください。



CLI/Workflowでは、オプションでエンジンバージョンを指定することでHive 2020.1による実行が可能です。この場合も書き出してデータの比較を行う場合は、一時テーブルを指定する必要があります。

engine_version=“stable”

Hive 0.13の廃止について

トレジャーデータでは、2021年12月末でのHive 0.13の廃止を予定しています。大変お手数ですが、それまでの期間にテストを完了いただければ幸いです。なお、この期間、CLI/Workflowでengine_versionを未指定の場合は、Hive 0.13で処理は実行されるため、テスト後はHive 2020.1を指定されておかれることをお勧めします。

ご不明の点は担当のカスタマーサクセス、またはサポートまでお問い合わせください。

関川 誠

Customer Representativeチーム

1992年に日米合弁のコンピュータメーカに入社、その後、複数のIT企業で広報、マーケティングを担当。前職ではOSSに特化したSIベンチャーで、システム提案から開発、保守・運用までの管理を経験。この間にオンプレミスからクラウド・SaaSへの流れを体感。2015年、トレジャーデータに参画し、直販営業、パートナ営業を経て、2018年よりカスタマーサクセスを担当。現在は、金融、エレクトロニクス、流通、アドテク、メディアといった複数領域のお客様支援をパートナー様とも連携しながら推進。

得意領域 : データアライアンス、リソース管理

Back to top button