我正在尝试执行加载/复制操作,以将数据从S3存储桶中的JSON文件直接导入Redshift.COPY操作成功,在COPY之后,表具有正确的行/记录数,但每个记录都为NULL!
它需要加载的预期时间,COPY命令返回OK,Redshift控制台报告成功且没有错误......但是如果我从表中执行简单查询,它只返回NULL值.
JSON非常简单+平面,并且格式正确(根据我在这里找到的示例:http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html)
基本上,它是每行一行,格式如下:
{ "col1": "val1", "col2": "val2", ... }
{ "col1": "val1", "col2": "val2", ... }
{ "col1": "val1", "col2": "val2", ... }
Run Code Online (Sandbox Code Playgroud)
我尝试过根据JSON对象中的值和数据类型重写模式,以及从未压缩文件复制.我想也许JSON在加载时没有被正确解析,但如果无法解析对象,它可能会引发错误.
我的COPY命令如下所示:
copy events from 's3://mybucket/json/prefix'
with credentials 'aws_access_key_id=xxx;aws_secret_access_key=xxx'
json 'auto' gzip;
Run Code Online (Sandbox Code Playgroud)
任何指导将不胜感激!谢谢.
我是Objective C的新手,我正在尝试直接调用对象的数组(NSArray)上的方法:
[[myPeople objectAtIndex: 0] setName: @"Shane"];
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,并返回一个警告说"已找到多个名为'setName'的方法"
我可以这样成功地执行操作:
Person* person = [myPeople objectAtIndex: 0];
[person setName: @"Shane"];
Run Code Online (Sandbox Code Playgroud)
我的语法在第一种情况下是不正确的,还是应该使用第二段代码?还是有一种我不知道的更好的方法?
谢谢,非常感谢任何帮助