小编lag*_*zul的帖子

使用COPY命令发生Redshift错误1202“找到额外的列”

我要1202 Extra column(s) found尝试加载简单的CSV时,Redshift出现错误。我确保文件中没有其他列,也没有任何未转义的字符,这些字符会导致COPY命令因此错误而失败。

这是创建的目标表:

create table test_table(
  name varchar(500),
  email varchar(500),
  developer_id integer,
  developer_name varchar(500),
  country varchar(20),
  devdatabase varchar(50));
Run Code Online (Sandbox Code Playgroud)

我正在使用一个简单的CSV文件,没有标题,只有3行数据:

john smith,john@gmail.com,123,johndev,US,comet
jane smith,jane@gmail.com,124,janedev,GB,titan
jack smith,jack@gmail.com,125,jackdev,US,comet
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的COPY命令失败err_1202 "Extra column(s) found"

COPY test_table 
FROM 's3://mybucket/test/test_contacts.csv'    
WITH credentials AS 'aws_access_key_id=<awskey>;aws_secret_access_key=<mykey>'
CSV;
Run Code Online (Sandbox Code Playgroud)

文件中没有其他列。

csv amazon-s3 amazon-web-services amazon-redshift

5
推荐指数
1
解决办法
7256
查看次数

合并字典保留重复键的值

给定n个字典,编写一个函数,该函数将返回一个唯一字典,其中包含重复键的值列表.

例:

d1 = {'a': 1, 'b': 2}
d2 = {'c': 3, 'b': 4}
d3 = {'a': 5, 'd': 6}
Run Code Online (Sandbox Code Playgroud)

结果:

>>> newdict
{'c': 3, 'd': 6, 'a': [1, 5], 'b': [2, 4]}
Run Code Online (Sandbox Code Playgroud)

我的代码到目前为止:

>>> def merge_dicts(*dicts):
...     x = []
...     for item in dicts:
...         x.append(item)
...     return x
...
>>> merge_dicts(d1, d2, d3)
[{'a': 1, 'b': 2}, {'c': 3, 'b': 4}, {'a': 5, 'd': 6}]
Run Code Online (Sandbox Code Playgroud)

生成一个新字典的最佳方法是什么,该字典会产生这些重复键的值列表?

python merge duplicates

4
推荐指数
2
解决办法
6982
查看次数

PySpark - sortByKey()方法以原始顺序从k,v对返回值

我需要能够从RDD返回(键,值)对的值列表,同时保持原始顺序.

我在下面列出了我的解决方法,但我希望能够一次性完成所有工作.

就像是:

myRDD = [(1, 2582), (3, 3222), (4, 4190), (5, 2502), (6, 2537)]
values = myRDD.<insert PySpark method(s)>
print values
>>>[2582, 3222, 4190, 2502, 2537]
Run Code Online (Sandbox Code Playgroud)

我的解决方法:

myRDD = [(1, 2582), (3, 3222), (4, 4190), (5, 2502), (6, 2537)]

values = []
for item in myRDD.sortByKey(True).collect():
                 newlist.append(item[1])
print values
>>>[2582, 3222, 4190, 2502, 2537]
Run Code Online (Sandbox Code Playgroud)

谢谢!

python sorting apache-spark rdd pyspark

2
推荐指数
1
解决办法
9945
查看次数