2017-09-25 4 views
0

RedshiftデータベースのCopyコマンドを使用し、s3バケットからdatabseにjsonファイルを格納しています。しかし、私は「オーバーフロー、列タイプ:整数」このエラーを取得しています:赤方偏移でRedshift Copyコマンドエラー "Overflow、Column type:Integer"

   { 
       "id": 119548805147, 
       "title": "Shoes", 
       "vendor": "xyz", 
       "product_type": "", 
       "handle": "shoes", 
       "options": [ 
        { 
         "id": 171716739099, 
         "product_id": 119548805147, 
         "name": "Size", 
         "position": 1, 
         "values": [ 
          "9", 
          "10", 
          "11" 
         ] 
        }, 
        { 
         "id": 171716771867, 
         "product_id": 119548805147, 
         "name": "Color", 
         "position": 2, 
         "values": [ 
          "Red", 
          "white", 
          "Black" 
         ] 
        } 
       ], 
       "images": [], 
       "image": null 
      } //line number 33 
      { 
       "id": 119548805147, 
       "title": "Shoes", 
       "vendor": "xyz", 
       "product_type": "", 
       "handle": "shoes", 
       "options": [ 
        { 
         "id": 171716739099, 
         "product_id": 119548805147, 
         "name": "Size", 
         "position": 1, 
         "values": [ 
          "9", 
          "10", 
          "11" 
         ] 
        }, 
        { 
         "id": 171716771867, 
         "product_id": 119548805147, 
         "name": "Color", 
         "position": 2, 
         "values": [ 
          "Red", 
          "white", 
          "Black" 
         ] 
        } 
       ], 
       "images": [], 
       "image": null 
      } 

私のテーブルとエラーコードが1216であるとJSONファイル内の行番号はここ33

であることは私のJSONファイルであります私はそこにあると思い

copy products 
from 's3://kloudio-data-files' 
access_key_id 'my access key' 
secret_access_key 'my secret key' 
json 'auto' 

CREATE TABLE products (
    "_id" int4 DEFAULT "identity"(297224, 0, '1,1'::text), 
    "id" int4, 
    title varchar(50), 
    product_type varchar(200), 
    vendor varchar(200), 
    handle varchar(200), 
    variants_id int4, 
    "options" varchar(65535), 
    images varchar(65535), 
    image varchar(65535) 
); 

以下のようにして、赤方偏移の私のコピー]コマンドはここにあります列とjsonファイルのデータ型の不一致ですが、私はそれを取得していません。

答えて

1

エラーは、入力しようとしている値の型が保持できるよりも大きいことを、私はidINTEGERが保持できる最大値より大きい値171716771867をとることを、あなたのデータサンプルから見ることができることを示唆しています。

整数は赤方偏移に4バイト長であるので、彼らは私たちの範囲与える、(2^(8))^4 = 4294967296個別の値を保持することができる:[-2147483648, 2147483647]、または溶液が異なるを使用することである一方はthe official documentation

のテーブルからこれを読み取ることができあなたのデータのためにタイプしてください。 idを数値にするか、テキストフィールドを使用する場合は、Big Integerを使用します。 注:1つのオーバーフローエラーに対してサンプル入力のみをスキャンしたため、他のフィールドのタイプを修正する必要がある可能性があります。

関連する問題