所以我想讓我的Spark應用程序從亞馬遜的S3中讀取一些文本。我寫了下面的簡單腳本:Apache Spark爲S3讀取:不能pickle thread.lock對象
import boto3
s3_client = boto3.client('s3')
text_keys = ["key1.txt", "key2.txt"]
data = sc.parallelize(text_keys).flatMap(lambda key: s3_client.get_object(Bucket="my_bucket", Key=key)['Body'].read().decode('utf-8'))
當我做data.collect
我得到以下錯誤:
TypeError: can't pickle thread.lock objects
,似乎我也不在網上找到任何幫助。也許有人設法解決上述問題?
請編輯您的代碼,如果下面的答案解決您的問題。 – ZZzzZZzz
@Zzz他爲什麼要編輯他的代碼? – eliasah
@eliasah。這是因爲僅僅標記答案是正確的,糾正代碼是幫助他人的最佳方式。 – ZZzzZZzz