非常不言自明的问题。我什么时候应该使用 Azure ML Notebooks 和 Azure Databricks?我觉得\xe2\x80\x99s这两种产品之间有很大的重叠,其中一种产品的营销肯定比另一种更好。
\n\nI\xe2\x80\x99m 主要寻找有关数据集大小和典型工作流程的信息。如果我没有面向 Spark 的工作流程,为什么应该使用 Databricks 而不是 AzureML?
\n\n谢谢 !
\nmachine-learning azure databricks azure-machine-learning-service
我使用 SQL Server 管理工作室生成针对 Azure 数据仓库的脚本。我选择了版本 Azure 数据仓库,它在脚本下方生成以删除表(如果存在)并创建表。但是,脚本无法通过验证。请参阅下面的错误消息。
DROP TABLE IF EXISTS Table1
GO
Run Code Online (Sandbox Code Playgroud)
错误信息:
第 2 行解析错误,第 12 列:“IF”附近的语法不正确。
azure-sqldw azure-sql-database azure-sql-data-warehouse azure-synapse
我想安排 azure 机器学习计算实例,以便我可以在周末等非工作时间停止它们,带有 runbook 的 azure 自动化解决方案似乎通常适用于 VM,但不适用于 azure ML。该解决方案可以是脚本或机器学习管道。
我是 dbt 的新用户,尝试编写一个关系测试:
- name: PROTOCOL_ID
tests:
- relationships:
to: ref('Animal_Protocols')
field: id
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Compilation Error
Invalid test config given in models/Animal_Protocols/schema.yml:
test definition dictionary must have exactly one key, got [('relationships', None), ('to', "ref('Animal_Protocols')"), ('field', 'id')] instead (3 keys)
@: UnparsedNodeUpdate(original_file_path='model...ne)
Run Code Online (Sandbox Code Playgroud)
同一文件中的“unique”和“not-null”测试工作正常,但我对“accepted_values”有类似的错误。
我在 MacOS Big Sur 11.6 上使用 dbt cli 版本 0.21.0 和 Snowflake。
在计算目标上执行训练脚本期间,我们尝试从 ADLS2 数据存储区下载已注册的数据集。问题是使用以下方法将 ~1.5Gb(分成 ~8500 个文件)下载到计算目标需要几个小时:
from azureml.core import Datastore, Dataset, Run, Workspace
# Retrieve the run context to get Workspace
RUN = Run.get_context(allow_offline=True)
# Retrieve the workspace
ws = RUN.experiment.workspace
# Creating the Dataset object based on a registered Dataset
dataset = Dataset.get_by_name(ws, name='my_dataset_registered')
# Download the Dataset locally
dataset.download(target_path='/tmp/data', overwrite=False)
Run Code Online (Sandbox Code Playgroud)
重要提示:数据集注册到 Datalake 中的一个路径,该路径包含许多子文件夹(以及子子文件夹,..),其中包含大约 170Kb 的小文件。
注意:az copy我可以使用存储资源管理器在几分钟内将完整的数据集下载到本地计算机。此外,数据集是在文件夹阶段定义的,并使用 ** 通配符扫描子文件夹:datalake/relative/path/to/folder/**
这是一个已知问题吗?如何提高传输速度?
谢谢 !
python azure azure-data-lake azure-machine-learning-service azure-data-lake-gen2
我正在从 Azure 机器学习笔记本运行 pyspark。我正在尝试使用 dbutil 模块移动文件。
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
def get_dbutils(spark):
try:
from pyspark.dbutils import DBUtils
dbutils = DBUtils(spark)
except ImportError:
import IPython
dbutils = IPython.get_ipython().user_ns["dbutils"]
return dbutils
dbutils = get_dbutils(spark)
dbutils.fs.cp("file:source", "dbfs:destination")
Run Code Online (Sandbox Code Playgroud)
我收到此错误: ModuleNotFoundError:没有名为“pyspark.dbutils”的模块 有解决方法吗?
这是另一个 Azure 机器学习笔记本中的错误:
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-183f003402ff> in get_dbutils(spark)
4 try:
----> 5 from pyspark.dbutils import DBUtils
6 dbutils = DBUtils(spark)
ModuleNotFoundError: No module named 'pyspark.dbutils'
During handling of the above exception, another exception occurred:
KeyError …Run Code Online (Sandbox Code Playgroud) pyspark databricks azure-databricks azure-machine-learning-service dbutils
我想在我的 Azure 机器学习工作区 ( azureml-core==1.12.0) 中注册来自 ADLS Gen2 的数据集。由于服务主体的信息不Python的SDK中所需的文件的.register_azure_data_lake_gen2(),我成功地使用下面的代码来注册ADLS第二代的数据存储:
from azureml.core import Datastore
adlsgen2_datastore_name = os.environ['adlsgen2_datastore_name']
account_name=os.environ['account_name'] # ADLS Gen2 account name
file_system=os.environ['filesystem']
adlsgen2_datastore = Datastore.register_azure_data_lake_gen2(
workspace=ws,
datastore_name=adlsgen2_datastore_name,
account_name=account_name,
filesystem=file_system
)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试注册数据集时,使用
from azureml.core import Dataset
adls_ds = Datastore.get(ws, datastore_name=adlsgen2_datastore_name)
data = Dataset.Tabular.from_delimited_files((adls_ds, 'folder/data.csv'))
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
无法从指定路径加载任何数据。确保路径可访问并包含数据。
ScriptExecutionException是由StreamAccessException. StreamAccessException 是由 AuthenticationException 引起的。'AdlsGen2-ReadHeaders'对于存储上的“[REDACTED]”失败,状态代码为“禁止”(此请求无权使用此权限执行此操作。),客户端请求 ID <CLIENT_REQUEST_ID>,请求 ID <REQUEST_ID>。错误信息:[已编辑] | session_id=<SESSION_ID>
我是否需要启用服务主体才能使其正常工作?使用 ML Studio UI,似乎甚至需要服务主体来注册数据存储。
我注意到的另一个问题是 AMLS 试图访问这里的数据集:
https://adls_gen2_account_name.**dfs**.core.windows.net/container/folder/data.csv而 ADLS Gen2 中的实际 URI …
我相信我的问题与最佳实践一样多,因为它是关于整理凌乱的数据,所以这里也是如此.
以下是数据框的摘录,这lang.df是学校范围内的学生数据集.该列Langauge.Home表示家长对问题的回答:"您在家里说什么语言?"
> lang.df
Nationality Language.Home
1 HK Mandarin
2 German Mandarin/English/German
3 Saudi Arabic
4 Norwegian Norwegian
5 UK English
6 HK Mandarin/ Min Nan dialect
7 Australian Mandarin
8 HK Mandarin
9 Brazilian Portuguese/English
10 Indian Hindi/English
Run Code Online (Sandbox Code Playgroud)
很明显,这是获取此信息的一种糟糕方式,也是一种存储它的不良方式,但我的工作是使用我拥有的数据.
结果
我想探讨某些家庭语言可能对成就产生的影响.我需要的是能够通过在家里说的单一语言(例如在家里说英语的学生)进行分组.
为此,我似乎必须使用dplyr 将Language@home列分隔为三("language.home1", "language.home2", "language.home3")separate().为我创建的新列中的每个唯一值(即语言)创建一个新列
处理
以下是我有效地尝试上述操作
library(dplyr)
library(tidyr)
#separate Langauge.Home into three new columns
lang.df <- lang.df %>% separate(Language.Home,
c("language.home1", "language.home2", "language.home3"),
sep = "/",
remove = FALSE) …Run Code Online (Sandbox Code Playgroud) 是否可以将多节点 Dask 集群用作PythonScriptStepAML 管道的计算?
我们有一个PythonScriptStep使用featuretools's 的深度特征合成 ( dfs) ( docs )。ft.dfs()有一个n_jobs允许并行化的参数。当我们在一台机器上运行时,这项工作需要三个小时,而在 Dask 上运行得更快。如何在 Azure ML 管道中实施此操作?
我开始使用 Azure 机器学习服务。它有一个名为 Pipeline 的功能,我目前正在尝试使用它。然而,文档和示例中有些事情完全不清楚,我正在努力完全掌握这个概念。
azure-machine-learning-service ×7
azure ×2
databricks ×2
python ×2
azure-sqldw ×1
azure-vm ×1
dask ×1
dbt ×1
dbutils ×1
dplyr ×1
pipeline ×1
pyspark ×1
r ×1
tidyr ×1