我正在尝试使用以下 Pyspark 代码从 Azure Data Lake 读取 Parquet 文件。
df= sqlContext.read.format("parquet")
.option("header", "true")
.option("inferSchema", "true")
.load("adl://xyz/abc.parquet")
df = df['Id','IsDeleted']
现在我想使用以下代码将此数据帧 df 作为表加载到 sql 数据仓库中:
df.write \
.format("com.databricks.spark.sqldw") \
.mode('overwrite') \
.option("url", sqlDwUrlSmall) \
.option("forward_spark_azure_storage_credentials", "true") \
.option("dbtable", "test111") \
.option("tempdir", tempDir) \
.save()
这将在 SQL 数据仓库中创建一个表 dbo.test111,其数据类型为:
- 标识(nvarchar(256),空)
- IsDeleted(位,空)
但我需要这些具有不同数据类型的列,例如 SQL 数据仓库中的 char(255)、varchar(128)。在将数据框加载到 SQL Dataware house 时如何执行此操作?