У меня есть фрейм данных pyspark df
, содержащий пути к текстовым файлам.Я хочу создать новый столбец с содержимым текстовых файлов.
import pyspark.sql.functions as F
from pyspark.sql.types import *
def read_file(filepath):
import s3fs
s3 = s3fs.S3FileSystem()
with s3.open(filepath) as f:
return f.read()
read_file_udf = F.udf(read_file, StringType())
df.withColumn('raw_text', read_file_udf('filepath')).show()
+---------------------+-----------+
| file | raw_text|
+---------------------+-----------+
|s3://bucket/file1.txt| [B@aa2a4f3|
|s3://bucket/file2.txt|[B@138664c5|
|s3://bucket/file3.txt| [B@3bcc67e|
|s3://bucket/file4.txt|[B@70b735c4|
|s3://bucket/file5.txt|[B@6fad821d|
+---------------------+-----------+
Вместо того, чтобы получать фактическое содержимое файла, я получаю эти странные [B@
коды.Что они, почему я их получаю и как это исправить?