You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Synapse Notebook能否原生写入GeoParquet v1格式?

能否通过Azure Synapse Notebook原生写入GeoParquet v1格式?

Azure Synapse Notebook目前没有原生内置的GeoParquet v1写入能力,但可以借助预装的开源库实现Azure环境内的直接写入,无需额外导入外部包或冗余编码操作,具体方案如下:

可行实现方式

  • 基于Spark+GeoPandas+PyArrow的组合
    Synapse Spark池默认预装了这些库,可直接通过以下步骤写入符合GeoParquet v1规范的文件到Azure存储(如ADLS Gen2):
    1. 将Spark中的地理空间数据(含WKT格式几何列)转换为GeoPandas GeoDataFrame
    2. 利用PyArrow指定GeoParquet v1版本写入到Azure存储
      示例代码:
    import geopandas as gpd
    import pyarrow as pa
    import pyarrow.parquet as pq
    from pyarrow import fs
    
    # 读取Spark中的地理空间数据
    spark_df = spark.read.table("your_geospatial_table")
    # 转换为GeoDataFrame(假设几何列名为geometry,格式为WKT)
    gdf = spark_df.toPandas()
    gdf['geometry'] = gpd.GeoSeries.from_wkt(gdf['geometry'])
    
    # 初始化Azure存储文件系统
    adls_fs = fs.AzureFileSystem(account_name="your_adls_account", account_key="your_account_key")
    # 转换为PyArrow Table并写入GeoParquet v1
    pa_table = pa.Table.from_pandas(gdf)
    pq.write_table(
        pa_table,
        "abfss://container@your_adls_account.dfs.core.windows.net/path/to/output.geoparquet",
        filesystem=adls_fs,
        version="1.0"  # 明确指定GeoParquet v1版本
    )
    

减少冗余的优化建议

  • 直接在Spark中预处理地理空间数据:使用ST_GeomFromWKT等Spark SQL函数提前清洗数据,避免多次格式转换带来的冗余编码。
  • 利用Synapse与ADLS的原生集成:直接写入ADLS Gen2,无需额外中转工具,保持数据在Azure环境内闭环流转。

内容的提问来源于stack exchange,提问作者karunakar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:55:46