2016-08-30 6 views
0

MySqlには、約24000000個のレコードを含む単一のテーブルがあります。このデータを複数の列ファミリを持つMapR DBのテーブルにインポートする方法が必要です。最初はデータをインポートするツールとしてSqoopを選択しましたが、後でSqoopは複数の列ファミリのインポートをまだサポートしていないため、直接Sqoopを使用してデータをインポートすることはできません。 MySqlデータベースのSqoopを使用してMapR FSにデータを入力しました。 MapR FSから3列ファミリのMapR DBテーブルにこのデータをインポートする選択肢は何ですか? それは、一括インポートのためのようだ、私は2つの選択肢があります。MySql DBからMapR DB/HBaseにデータをインポートするオプション

  • ImportTSVツールを:これはおそらく、TSV形式であるために、ソース・データが必要です。しかし、私がMapR FSでSqoopを使ってMySqlからインポートしたデータは、CSV形式のようです。このアプローチの標準的な解決策は何ですか?
  • MapR FSのデータをHFileに変換してMapR DBにロードするカスタムマップReduceプログラムを作成します。

データをロードするための唯一の2つの選択肢であることを確認したかっただけです。このような要件がどのシステムでも非常に基本的な要件であることを考えると、これは少し限定的なようです。 カスタムマップリデュースが道案内である場合、サンプルまたは作業サンプルが本当に役に立ちます。

+0

スパークについての知識はありますか?直接インポートするか、またはおそらくいくつかの一時的なhdfsストレージを使用してインポートしますか?私はOracleからHdfsにデータを複製するプロジェクトに取り組んでおり、初期スナップショット(sqoopを使用してOracleからダンプされたhdfs上のAvroファイル)からHFilesを生成する作業スパークジョブを持っています。 – MaxNevermind

+0

あなたの主な問題は、hfilesを生成する必要があることです。実用的な解決策を見つけようとしました。 – MaxNevermind

+0

私はまだスパークに取り組んでいません。だから、今のところ私にとって最良の方法ではないかもしれません。しかし、私は間違いなくこれを念頭に置いています。私がmysqlデータからHBase/MapR DBにデータを移したいのであれば、カスタムマップリダクションジョブは唯一のソリューションですか? – koder

答えて

0

HBaseStorageHandlerを使用してMapRDBを指すハイブテーブルを作成します。あなたはハイブテーブルにインポートするためにsqoopを使うことができます。

データMapRFSを既にダウンロードしている場合。 MapRDBにデータをロードするには、hive loadコマンドを使用します。

+0

私は分かりません。実際、私はHadoop/HBaseのエコシステム全体について非常に新しいものです。最初の選択肢についてもう少し説明できますか? 2番目のオプションでは、おそらくMapR FSにSqoopを使ってMySqlデータをダンプすることができます。あなたが提案しているのは、Hive loadコマンドを使用してMapR FSからMapR DBにこのMySqlデータダンプをロードすることです。ここでハイブの役割についてはあまり確かではありません。私の知る限りでは、HiveはHadoopエコシステムのデータウェアハウスに相当します。いずれにしても、Hiveを使用してMapR FS/HDFSからMapRDb/HBaseにデータをインポートする方法を教えてください。 – koder

+0

MapRDBテーブルを指すハイブテーブルを作成できます。ハイブテーブルにデータを挿入すると、MapRDBテーブルが作成されます。ここをクリックしてください https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration – vgunnu

関連する問題