2012-05-02 13 views
1

AmazonのEMRでHiveを設定して、DynamoDBテーブルからデータを取得してS3にダンプしようとしています。私はhereの指示に従っており、ほとんどのテーブルで成功しました。ただし、1つのDynamoDBテーブルではエラーが発生します(下記参照)。ハイブ外部テーブルの列の最大数

問題のテーブルには、列(> 100)のたくさんを持っており、それらのサブセットだけまでのマッピングを切断してスクリプトを実行することができますので、私はこれが問題であることを仮定しているが、私これについてのドキュメントは見つかりません。

定義できる列の数にある程度の制限がありますか?それとも私がここにぶつかる可能性のある他の限界がありますか?これを回避する方法はありますか?


エラー私のようなルックスを取得しています:

FAILED: Error in metadata: javax.jdo.JDODataStoreException: Put request failed : INSERT INTO `TABLE_PARAMS` (`PARAM_VALUE`,`TBL_ID`,`PARAM_KEY`) VALUES (?,?,?) 
NestedThrowables: 
org.datanucleus.store.mapped.exceptions.MappedDatastoreException: INSERT INTO `TABLE_PARAMS` (`PARAM_VALUE`,`TBL_ID`,`PARAM_KEY`) VALUES (?,?,?) 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 

のように、私が実行しようとしているスクリプトが見えます:私は同様の問題のカップルに遭遇した

CREATE EXTERNAL TABLE hive_WSOP_DEV_STATS_input (col1 string, col2 string...) 
    STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' 
    TBLPROPERTIES ("dynamodb.table.name" = "DYNAMO_TABLE_NAME", 
     "dynamodb.column.mapping" = "col1:col1,col2:col2..."); 

答えて

2

数年前。私が正しく思い出したのは、ハイブはデータベースに書き込んでいるクエリのテキストの長さに制限があるということです。コールスタックを見ると、その変数が設定可能かどうか、またコードを編集する場所がわからないことがあります。

+0

これは問題であるようです。私たちは変えられた種類のタックを持っていましたが、その問題は疑問になりました。 –

+0

同じ問題が発生しました。 しかし、答えにはまだ従っていませんが、この変数はどこで設定できますか? – Alexey

関連する問題