python - 如何在databricks中读取由.gz压缩的镶木地板文件?
问题描述
我的文件存储在 Azure 的 blob 存储中,看起来像1627937153-1627937153-ab_test-20210604-0-0.parquet.gz
. 如何在不将此文件下载到 databricks 环境中的情况下使用 Python 从 databricks 中的该文件中读取数据?我在同一个文件夹中有多个相同格式的文件。谁能帮我这个?
解决方案
你可以试试
import pandas as pd
df = read_parquet("myFile.parquet.gzip")
display(df)
正如@bala(或)在此处提到的
2.来自SO参考
import io
df = pd.read_parquet(blob_to_read, engine='pyarrow')
display(df)
(或) 3。
尝试使用 gzip 文件从 zip 文件中读取
import gzip
file = gzip.open("filename.parquet.gz", "rb")
df = file.read()
display(df)
您也可以从zip-files-python-notebook中获取有关zip-files-python 的这篇文章,该文章 展示了如何解压缩文件,其中包含以下步骤:
1.检索文件
2.解压文件
3.将文件移动到DBFS
最后使用将文件加载到数据框中
df = spark.read.format("parquet").option("inferSchema", "true").option("header","true").load("dbfs:/tmp/LoanStats3a. parquet ")
display(df)
如果您使用 azure data Lake gen2,请检查此 pyarrowfs-adlgen2 是 Azure Data Lake Gen2 的 pyarrow 文件系统的实现。请参阅 > 将 pyarrow 与 Azure Data Lake gen2一起使用。 它允许您使用 pyarrow 和 pandas 直接从 Azure 读取 parquet 数据集,而无需先将文件复制到本地存储。
推荐阅读
- laravel - 码头工人。Laravel 容器之间的通信
- vue.js - 如何使用 Vue 类组件在 NuxtJs 项目中注册附加 Hook
- django - 将 url 添加到 Django admin 中 TabularInline 中的字段
- php - $wpdb 从根目录删除 SQL
- three.js - 加载大量 4k 纹理时三个 js 应用程序崩溃
- postgresql - 使用 Spring Data JDBC “消费”行
- pandas - 计算数据框中所有行与特定行之间的差异
- rest - 两台公司服务器之间传输的数据的“超越”安全性
- ios - IOS模拟器中的React-Native异步功能失败
- javascript - 如何使用异步方法(promises 或 async-await)等其他方法验证表单?