Sqoop を使用してリレーショナル DB から Sandbox の Hive にデータをインポートするにはどうすればよいですか。私の PC に Horton Works サンドボックスをインストールしました。この移行について知りたいのですが、このリンクhttp://hortonworks.com/kb/using-apache-sqoop-for-data-import-from-relational-dbs/を参照 しましたが、いくつかの疑いで混乱しています 1,実行に Sqoop ソフトウェアは必要ですか? 2、上記のリンクには、このコードを配置するコードがありますか? Hive クエリ ウィンドウで? 3, データベースを完全に移行することは可能ですか (またはタイムテーブルのみ)? 4、これらすべてを保持するストアドプロシージャとビューについてはどうですか?
2 に答える
1- これを行うには、ここからダウンロードできる Microsoft SQL Server Connector for Apache Hadoop が必要です。
2- Sqoop シェルから import コマンドを発行する必要があります。Sqoop のドキュメント、特にセクション7.2.10を一読することをお勧めします。セクション 7.2.10 では、 Hive へのデータのインポートについて説明しています。
3- 次のことができます。
import -all-tablesを使用して、データベースからすべてのテーブルをインポートします
sqoop-importを使用して 1 つのテーブルをインポートする
--where または --columns 引数をそれぞれ使用して、テーブルの一部 (特定の行または特定の列) をインポートします。
sqoop-exportを使用して、HDFS からリレーショナル DB にデータをエクスポートします。
4- データが Hadoop クラスター内に取り込まれると、SQL プロシージャーを使用できなくなります。通常、ストアド プロシージャ言語は、結果セットを使用してより多くのロジックを実行します。通常、Hive の結果セットは大きいため、集計と変換は関数またはストリーミングのいずれかを使用して行われます。代替案を検討する必要があります。ただし、Hive でビューを持つことはできます。Hive のビューの詳細については、こちらを参照してください。
HTH