我使用Synapse Notebook从csv导入数据到parquet文件。该代码将Zip code字段键入为INT,在许多Zip code中丢失前面的0。我的问题是如何强制将列键入为字符串?这是我用来阅读和写作的代码。代码目前是非常通用的,如果可能的话,我希望保持它。
SourceFilePath = 'abfss://datalake@blobstorageaccountname.dfs.core.windows.net/SourceDir/SourceFileName.csv'
dfb = spark.read.load(SourceFilePath,format='csv',header = True).cache()
DestinationPath = 'abfss://datalake@blobstorageaccountname.dfs.core.windows.net/DestinationUnknown/'
dfB.write
.mode("overwrite")
.parquet(DestinationPath)
我不热衷于解决这个在Synapse无服务器视图的目标。因为我不能强迫人们使用视图。
您可以使用选项方法定义CSV文件的模式。下面是一个示例,说明如何指定CSV文件的模式,并强制将Zip Code列键入为字符串:
输入数据:
<表类>邮编 城市国家 tbody><<tr>004 city1 country1 002 city2 country2 表类>