Так что я хочу, чтобы приложение Spark прочитало текст из S3 Amazon. Я написал следующий простой сценарий:Apache Spark читает для S3: не удается раскрыть объекты 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