🐡

Apache Sqoopとはなんなのか?

に公開

今回はApache Sqoopについて調べてみました。 今回も以下のツールを使って対象プロジェクトを決めました!

https://zenn.dev/akasan/articles/7e30ad266c02c4

※ 本企画に関する記事の目的は、それぞれのプロジェクトを本格的に深ぼるのではなく、プロジェクト名⇆どんな内容かをパッと思い出せるようにすることを目指します!
※ とはいえ深ぼってみたいプロジェクトがあればどんどん複数連載になると思います。

Apache Sqoopとは?

Apache Sqoopとは公式ページによると、

Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases.

ということで、Apache Hadoop とリレーショナル データベースなどの構造化データストア間で大量のデータを効率的に転送するために設計されたツールのようです。公式ページを見ると、2021年の6月にリタイアし、2021年7月にAtticに移行されたようです。

https://sqoop.apache.org/

Apache Sqoopは2021年の5月にInubatorから卒業してトップレベルのApacheプロジェクトになったとのこと。その記事は以下に公開されていました。

https://blogsarchive.apache.org/sqoop/entry/apache_sqoop_graduates_from_incubator

Apache Sqoopの特徴について

公式ページではないですが、Analytics Vidhyaにて解説記事が提供されており、そちらを参考にさせてもらいました。ぜひこちらもご確認ください。

https://www.analyticsvidhya.com/blog/2022/09/apache-sqoop-features-architecture-and-operations/

なぜ利用するか

Hadoopエコシステムのコンポーネントの一つにApache Sqoopがあるようです。大量のデータをリレーショナルデータベースシステムからHadoopに移行する必要があったため、このプロセスを迅速に実行するための専用ツールが必要であり、Apache Sqoopが登場したことで採用されていたようです。MapReduce処理などの用途でRDBMSファイルからHadoopエコシステムへのデータ移行に広く利用されています。

特徴について

以下のような特徴があるようです。

  • データのインポートとエクスポートにYARNフレームワークを使用し、フォールトトレランスによって並列処理を強化
  • SQLクエリの結果をHDFSにインポート可能
  • MySQLやMicrosoft SQL ServerなどいくつかのRDBMS向けに、Sqoopはコネクタを提供
  • Kerberosコンピュータネットワーク認証プロトコルをサポートしており、ノードは安全でないネットワークを介して安全に通信しながらユーザー認証を実現
  • 1つのコマンドでテーブル全体または特定のセクションをロード

まとめ

今回はApache Sqoopについて紹介しました。執筆時点ですでにご退役されていますがHadoopのエコシステムとして、分散コンピューティングを支えた技術であったと思います。このような技術のもとで成り立っている仕組みだろ近いしてこれから使わせてもらおうと思います。

Discussion