2016-11-16 18 views
1

スーパーインパイザから、2種類のファイルタイプを照会してからデータを抽出するために、HDInsight(Windows用)でハイブを使用することができるプロジェクトタスクを取得しました。これらのファイルの1つは.xlsファイルで、もう1つは.csvファイルです。ハイブテーブルを作成してxlsファイルからデータを挿入する

これらのファイルをVSでHadoopクラスタにアップロードして、.xlsファイルからHiveテーブルを作成しようとしましたが(以前はHiveで.csvファイルを使用していたチュートリアルを使用しましたが) .xlsファイルでは、試しても「失敗」エラーが表示されます。

テーブルの作成、区切り、フィールドの終了(成功しなかったものをいくつか試しました)、ファイルの種類(ここではほかに何を使用するかわかりません)、ターゲットの場所について、次のサンプルコードを試しました。

DROP TABLE IF EXISTS table1; 

CREATE EXTERNAL TABLE IF NOT EXISTS table1(id int, postcde int, city string) 
    ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY ' ' 
    STORED AS TEXTFILE LOCATION 'wasb://[email protected]/folder1/data.xls/' 

私はここに同様の質問に対する矛盾した回答があるように思われるので、これは全く可能であるか否かの不確かだが、私の上司によると、ハイブでこれを行う可能性があるべき - Hadoopにアップロードする前にファイルタイプを同じフォーマットに変換する必要はありません!

https://community.hortonworks.com/questions/31968/hi-is-there-a-way-to-load-xlsx-file-into-hive-tabl.html

答えて

2

私はあなたがテーブルの場所としてExcelファイルを割り当てることができるとは思いません。

ハイブHDFSにデータを保存することができます(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL) または

S3ストレージ(http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hive-additional-features.html

、ハイブは直接EXCEL形式をサポートしていませんので、あなたは、Excelファイルが区切り形式のファイルに変換する必要がありloadコマンドを使用してファイルをHive(またはHDFS)にアップロードします。

+0

@ Yang Bryanご返信ありがとうございます。私はあなたが言っていることにあなたが正しいと思います。私はちょうどこの[リンク](http://stackoverflow.com/questions/29429679/how-to-load-xls-data-from)の下でHiveテーブルに.xls形式からデータを読み込むための2つの他のオプションを示す別のリンクを見つけました。 -multiple-xls-file-into-hive)ですが、これを行うための「直接的な」方法はないようです。私はあなたの返信をアップヴォートしようとしましたが、十分な代理人がいないので、それは見えません。しかし、あなたの時間と助けをしてくれてありがとう。 – themightyhulk

+0

@th歓迎です。J –

関連する問題