私はmysqlの各テーブルに100000を超えるレコードを持つ1000個のテーブルを持っています。テーブルのカラム数は300〜500です。Sqoopインポートmysqlの特殊文字を置き換えます
一部の表には、列名に「。」(ドット)やスペースなどの特殊文字を含む列があります。
今私はsqoopインポートを行うとハイブテーブルが作成されますが、私はテーブルのクエリを実行したとき、それは
としてエラーを示している。この後sqoop import --connect ${domain}:${port}/$(database) --username ${username} --password ${password}\
--table $(table) -m 1 --hive-import --hive-database ${hivedatabase} --hive-table $(table) --create-hive-table\
--target-dir /user/hive/warehouse/${hivedatabase}.db/$(table)
以下のような単発のクエリでHDFSでハイブのテーブルを作成したいです
このエラー出力はサンプル出力です。 sqoopインポート自体をしながら私たちは_(アンダースコア)を持つ。(ドット)を置き換えることができますどのように
Error while compiling statement: FAILED: RuntimeException java.lang.RuntimeException: cannot find field emp from [0:emp.id, 1:emp.name, 2:emp.salary, 3:emp.dno]
。私はこれを動的にしたいと思います。
私は--Queryオプションを試しましたが、selectクエリを使用して多くのカラム名を置き換えるのは私です – User12345
動的クエリを作成してクエリを生成する.. –
質問してもらえませんか?私はHadoopに少し戸惑っていますか? – User12345