Sur*_*raj 2 apache-spark pyspark databricks pyarrow azure-databricks
我正在尝试读取镶木地板文件来保存架构,然后在读取 csv 文件时使用此架构将其分配给数据帧。
fee.parquet该文件loan__fee.csv具有相同的内容,但文件格式不同。
下面是我的代码 - 我收到一个错误,架构应该是“StructType”。如何将从镶木地板文件读取的模式转换为 StructType
from pyarrow.parquet import ParquetFile
import pyarrow.parquet
fee_schema = pyarrow.parquet.read_schema("/dbfs/FileStore/fee.parquet", memory_map=True)
df_mod = spark.read.csv('/FileStore/loan__fee.csv', header="true", schema=fee_schema)
Run Code Online (Sandbox Code Playgroud)
它给出错误:
类型错误:架构应该是 StructType 或字符串
我尝试了几个选项,例如fee_schema.to_string(show_schema_metadata = True)但它不起作用并给出 ParseError。
谢谢你的时间!
正如 mck 所建议的,您可以使用spark.read.parquet来获取架构 - 该命令只是从文件中获取元数据,而不是完全读取它。所以你会得到这样的东西:
src_df = spark.read.parquet("/FileStore/fee.parquet")
df_mod = spark.read.csv('/FileStore/loan__fee.csv', header="true",
schema=src_df.schema)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |