Hadoop/Hiveテーブルに転送したい大きなmysqlテーブルがあります。単純な(しかし大きな)テーブルをMysqlからHiveに転送するための標準的なコマンドまたはテクニックはありますか?このテーブルには、主に分析データが格納されています。
2 に答える
まず、mysql-connector-java-5.0.8をダウンロードし、jarをSqoopのlibおよびbinフォルダーに配置します。
mysqlのように、正確なフィールド名とタイプを使用してHiveでテーブル定義を作成します
sqoop import --verbose --fields-terminated-by'、' --connect jdbc:mysql:// localhost / test --table employee --hive-import --warehouse-dir / user / hive / Warehouse --fields -終了-'、' --split-by id--hive-tableemployee
テスト-データベース名
従業員-テーブル名(テストに存在)
/ user / hive/warehouse-データをインポートする必要があるHDFSのディレクトリ
--split-byid--idはテーブル'employee'の主キーにすることができます
--hive-tableemployee-定義がHiveに存在するemployeeテーブル
Sqoopユーザーガイド(Sqoopを学習するための最良のガイドの1つ)
Apache Sqoopは、この問題を解決するツールです。
Apache Sqoop(TM)は、ApacheHadoopとリレーショナルデータベースなどの構造化データストア間でバルクデータを効率的に転送するために設計されたツールです。