プラットフォーム (Big Data) との間でデータを大量に移動する方法¶
大規模なデータを IoT platform との間で移動することは、Hadoop の HDFS と相互作用することを意味します。
HDFS は Hadoop Distributed File System の略です。これは実際にはファイルシステムです。データはUnix ファイルシステムの設計に従って大きなデータファイルとして編成されるためです。大規模なデータファイルは単一のサーバではなく、サーバのクラスタによってホストされ、ファイルはクラスタ全体に多くの部分(ブロック)に分割されているため、分散されています。
特殊なデーモンである NameNode は HDFS の管理を担当し、ファイル分割とそのデータサーバ内での位置を持つテーブルを扱います。このデーモンは DataNode のセット、つまりデータサーバで実行されているNameNode の対応するデーモンと対話します。
HDFS とのI/Oを行うのは、NameNode との対話や、読み書き操作、所有権やアクセス権などのファイル管理を行うのと同じくらい簡単です。
HDFS の NameNode と対話するにはいくつかの方法があります。IoT platform でサポートされているものを見てみましょう。
メソッド¶
Hue の使用¶
このメソッドは、Hue が Hadoop 用の Web ベースの UI であるため、主に非自動化インテグレータ、つまり人間を対象としています。
Hue は、いくつかのプラグインが異なる目的で利用できるダッシュボードを公開します。これらのプラグインは、従来の Hadoop API と認証メカニズムの両方をラップするインターフェースです。
Hueのプラグインの中には、特に IoT Platform のために、ファイルブラウザがあります。このようなブラウザは、データの入出力を含む典型的な Linuxライクな操作をすべてグラフィカルに実行します。その背景には、Hue は Hadoop の REST API である WebHDFS を使用しています。
ファイルブラウザのUIは非常に簡単です :
Hue にアクセスするには、IoT platform 管理者が指定する必要がある特定のユーザ資格情報(ユーザとパスワード)が必要です。これらのユーザは通常、Unix/Hadoop のユーザとアクセス許可に一致します。したがって、Hue ユーザは単一のテナント/クライアントに属し、HDFSアカウントまたはテナント/クライアントに関連するアカウントのみに、HDFSへのアクセスは制限されます。なお、テナント/クライアントは複数のユーザを持つことができます。
ETL プロセスの使用¶
ETLは、抽出、変換および読み込みを表します。これは、データの移動を担当するプロセスに適用される用語です。
IoT platform は、HDFS に関連する ETL 目的のサーバを公開します。これは、インテグレータが Java プログラムをアップロードし、Crontab を介してその実行をスケジュールするマシンです。
このような ETL プロセスでは、データベースなどの外部ソースやクライアントに接続されたプライベートネットワークから元のデータを取得することができます。
HDFS への接続は、Hadoop API for Java によって実行されます。つまり、TCP/8020 ポートを介して実行されるリモートプロシージャコール (RPC)を実行します。
詳細は IoT Platform チームにお尋ねください。