我有 1.3GB 的 Zip 文件,里面有一个 6GB 的逗号分隔格式的 txt 文件。此 zip 文件夹位于 Azure Data Lake Storage 上,并使用服务原理,它安装在 DBFS Databricks 文件系统上。使用普通 python 代码提取 6GB 文件时,我得到 1.98GB 作为提取文件。
请建议一种直接读取 txt 文件并将其存储为 spark Dataframe 的方法。
我曾尝试使用 python 代码,但直接从 python 读取会出错 - Error tokenizing data. C error: Expected 2 fields in line 371
看到 3 这也是使用UTF-16-LE
编码修复的,但之后出现错误 -ConnectException: Connection refused (Connection refused) on Databricks while trying to display the df.head().
import pandas as pd
import zipfile
zfolder = zipfile.ZipFile('dbfszipath')
zdf = pd.read_csv(zfolder.open('6GBtextfile.txt'),error_bad_lines=False,encoding='UTF-16-LE')
zdf.head()
提取代码 -
import pandas as pd
import zipfile
zfolder = zipfile.ZipFile('/dbfszippath')
zfolder.extract(dbfsexrtactpath)
当直接通过 zip 文件夹读取时,数据框应该包含所有数据,并且它应该显示一些数据并且不应该挂起 Databricks 集群。需要 Scala 或 Pyspark 中的选项。