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...");
これは問題であるようです。私たちは変えられた種類のタックを持っていましたが、その問題は疑問になりました。 –
同じ問題が発生しました。 しかし、答えにはまだ従っていませんが、この変数はどこで設定できますか? – Alexey