2016-06-15 6 views
0

ですべてのファイルを読んでいない私は、次の構文を使用してハイブ表を作成し、S3フォルダを指摘:ハイブは、S3の場所

CREATE EXTERNAL TABLE IF NOT EXISTS daily_input_file ( 
     log_day STRING, 
     resource STRING, 
     request_type STRING, 
     format STRING, 
     mode STRING, 
     count INT 
) row format delimited fields terminated by '\t' LOCATION 's3://my-bucket/my-folder'; 

を私はクエリを実行すると、のような:

SELECT * FROM daily_input_file WHERE log_day IN ('20160508', '20160507'); 

私はレコードが返されると思います。

このデータがそのフォルダ内のファイルに含まれていることを確認しました。実際、この特定のデータを含むファイルを新しいフォルダにコピーし、その新しいフォルダのテーブルを作成してクエリを実行すると、結果が表示されます。私はまた、元のフォルダ内の他のファイル(実際にはほとんどのファイルから)の結果を取得します。

s3:// my-bucket/my-folderの内容は単純です。私のフォルダ内にサブディレクトリはありません。ファイル名には2つの種類があり(aとb)、すべてには作成日(YYYYMMDD_)のプレフィックスが付き、すべての拡張子は.txt000.gzです。ここではいくつかの例は以下のとおりです。

  • 20160508_a.txt000.gz
  • 20160508_b.txt000.gz
  • 20160509_a.txt000.gz
  • 20160509_b.txt000.gz

だから何があるかもしれませんやっている? S3から処理できる1つのフォルダ内のファイル数に制限はありますか?それとも何か他の人が犯人ですか?

  • リリースラベル:EMR-4.7.0
  • のHadoopディストリビューション:アマゾン2.7.2
  • 用途:ハイブ1.0.0、豚0.14.0、色相ここ

    が使用されているバージョン3.7.1

+0

ストレンジしなさいsのを確認します。3パスの任意.... –

+0

あなたは「私のフォルダ」の構造を共有することができますか?何が含まれているすべてのファイル/ディレクトリ –

+0

EMRのどのリリースバージョンを使用していますか? – ChristopherB

答えて

関連する問題