gpt4 book ai didi

sql-server - 我可以更改作为表加载到 SQL Server 的 Spark 数据框列的数据类型吗?

转载 作者:行者123 更新时间:2023-12-03 11:15:59 24 4
gpt4 key购买 nike

我正在尝试使用以下 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,其数据类型为:

  • Id(nvarchar(256),null)
  • 已删除(位,空)

但我需要这些具有不同数据类型的列,例如 SQL Datawarehouse 中的 char(255)、varchar(128)。在将数据框加载到 SQL Dataware house 时,我该怎么做?

最佳答案

我找到了一种方法可以帮助您修改列数据类型,但可能无法实现您想要的。

df.select(col("colname").cast(DataType))

这是一个关于 How to change column types in Spark SQL's DataFrame 的 blob .

也许这对你有帮助。

关于sql-server - 我可以更改作为表加载到 SQL Server 的 Spark 数据框列的数据类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54191395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com