フラットなメインフレームファイルをインポートして、ハイブテーブルにロードしようとしています。 sqoop import-mainframeを使用してハイブテーブルにインポートして読み込むことができましたが、ファイル全体が1つのカラムに配置されていて、そのカラムにも名前がありません。sqoopを使用してハイブテーブル構造を定義する方法import-mainframe --create-hive-tableコマンド
sqoopインポートコマンド自体にテーブル構造を定義する可能性はありますか?
我々は、メインフレームからインポートし、テーブルをハイブに
sqoop import-mainframe --connect mainframe.com --dataset mainframedataset --username xxxxx -P --hive-import --create-hive-table --hive-table table1 --warehouse-dir /warehouse/
サンプル・メインフレームのデータをロードするには、以下のコマンドを使用している:
ASWIN | 1234 | 1000.00
XXXX | 1235 | 200.00
YYYY | 1236 | 150.00
ハイブテーブルがsqoopによって生成されたスクリプトの作成:デフォルトSqoop docs 1として
CREATE TABLE Employee (DEFAULT_COLUMN STRING) COMMENT 'Imported by sqoop on 2016/08/26 02:12:04' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' LINES TERMINATED BY '\012' STORED AS TEXTFILE
は、 'mainframedataset'データセットのサンプルデータを共有します。それはどういう意味ですか**カラムには名前がありません**? –
また、コマンドの最後に '--verbose'を入れてください(_はextended logs_を参照してください)。 CREATE TABLE文が表示されます。その声明も共有してください。 –
お返事ありがとうございました!! YYYY 200.00
| | 1236 | 1234 | |私のメインフレームデータセットは、その中に以下のサンプルデータ
ASWINを持っ1000.00
XXXX | 1235私はsqoopコマンドを使用してHadoopのハイブの表に、この日付を移動する必要が150.00
をし、テーブルがEmployeesとしてテーブル名で定義され、カラムが(Name String、Empid int、Amount float)
のように定義されますが、今はsqoop -hive-importで--create-hive-tableは定義するオプションを提供しません列名にはそうする方法がありますか? – Aswin