在Azure ML Studio的Jupyter Notebook中将数据写入Datastore示例求助
将处理好的数据写回ADLS Gen2连接的Datastore(Azure ML Studio Notebook示例)
以下是两种常用的写入方式,根据你的数据规模和使用框架选择:
方式一:使用Pandas写入(适合中小数据量)
1. 连接工作区并获取目标Datastore
from azureml.core import Workspace, Datastore # 加载当前工作区(Studio Notebook中可直接调用该方法) ws = Workspace.from_config() # 替换为你已连接ADLS Gen2的Datastore名称 target_datastore = Datastore.get(ws, datastore_name="your_adls_gen2_datastore")
2. 写入处理好的DataFrame
假设你已完成数据准备,得到processed_df这个Pandas DataFrame,以下是写入Parquet格式的示例(比CSV存储效率更高):
import pandas as pd # 示例DataFrame,替换为你实际的处理后数据 processed_df = pd.DataFrame({ "id": [101, 102, 103], "value": [25.6, 30.1, 18.9] }) # 临时保存到本地(可选,也可直接用dataprep写入) temp_file = "./temp_processed.parquet" processed_df.to_parquet(temp_file, index=False) # 上传到Datastore的指定路径,替换为你的目标存储路径 target_datastore.upload_files( files=[temp_file], target_path="processed_data/20240520/", overwrite=True, show_progress=True ) # 更高效的直接写入方式(需安装azureml-dataprep[pandas]) from azureml.dataprep import api as dprep dataflow = dprep.read_pandas_dataframe(processed_df) dataflow.write_to_parquet( destination=target_datastore.path("processed_data/20240520/final_data.parquet"), overwrite=True )
方式二:使用Spark写入(适合大数据量)
1. 初始化Spark会话并获取Datastore
from azureml.core import Workspace, Datastore from pyspark.sql import SparkSession ws = Workspace.from_config() target_datastore = Datastore.get(ws, datastore_name="your_adls_gen2_datastore") # 获取Studio内置的Spark会话 spark = SparkSession.builder.getOrCreate() # 示例Spark DataFrame,替换为你实际的处理后数据 spark_df = spark.createDataFrame([(101,25.6),(102,30.1),(103,18.9)], ["id","value"])
2. 写入ADLS Gen2路径
利用ADLS Gen2的ABFS协议直接写入,示例如下:
# 获取Datastore的ABFS格式路径 abfs_base_path = f"abfss://{target_datastore.container_name}@{target_datastore.account_name}.dfs.core.windows.net/" # 写入Parquet文件,设置保存模式为覆盖(可选append/ignore等) spark_df.write.mode("overwrite").parquet(f"{abfs_base_path}processed_data/20240520/")
注意事项
- 确保你的计算实例拥有ADLS Gen2的访问权限(可通过RBAC角色分配或服务主体配置)
- 写入Parquet时保持数据类型一致,避免后续读取异常
- 大数据量场景优先使用Spark,避免内存溢出
内容的提问来源于stack exchange,提问作者Ankit Sawa
相关产品推荐
相关产品推荐

