- LINEデータプラットフォーム室は、Hiveの利用を段階的に終了し、Spark環境へ移行する方針を定めた
- 移行方法 - エンジンを切り替えた後、問題がある場合はクエリを変更
- クエリ変更の事例:
- 一時テーブルを使用した場合(CREATE TEMPORARY TABLE)
- ANSIポリシーに違反する暗黙的な型変換を使用した場合(Store Assignment Policy)
- 利用していたUDFに問題がある場合
- 新しいUDFを導入した場合
- map型に集合演算を使用した場合
- 複数のパーティションを削除しなければならない場合
- 移行後に特定のデータが欠落し、トラブルシューティングを実施
- 5つの問題の現象と対応方法:
- クエリ実行後に一部の結果が欠落する現象
- パーティションディレクトリ配下にサブディレクトリが存在するとデータを読み取れない現象
- ジョブ実行時にパーティションディレクトリを削除してしまい、そのパーティションを利用するクエリが失敗する現象
- 1つのパーティションからデータを読み、同じテーブルの別パーティションへ書き込む際に AnalysisException("Cannot overwrite a path that is also being read from") が発生
- 結果が重複して2倍に積み込まれる現象
- OpenChatのほか、現在担当している複数ドメインにある数百件に及ぶすべてのクエリを年内にSparkへ移行する計画
まだコメントはありません。