本文介绍如何为 U-SQL 作业和 U-SQL 数据库设置持续集成和部署(CI/CD)管道。
重要
Azure Data Lake Analytics 于 2024 年 2 月 29 日停用。 通过此公告了解更多。
对于数据分析,组织可以使用 Azure Synapse Analytics 或 Microsoft Fabric。
注释
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
将 CI/CD 用于 U-SQL 作业
适用于 Visual Studio 的 Azure Data Lake 工具提供了有助于组织 U-SQL 脚本的 U-SQL 项目类型。 使用 U-SQL 项目管理 U-SQL 代码可以简化更多的 CI/CD 方案。
生成 U-SQL 项目
可以通过传递相应的参数,使用Microsoft生成引擎(MSBuild)生成 U-SQL 项目。 按照本文中的步骤为 U-SQL 项目设置生成过程。
项目迁移
在为 U-SQL 项目设置生成任务之前,请确保拥有最新版本的 U-SQL 项目。 在编辑器中打开 U-SQL 项目文件,并验证是否具有以下导入项:
<!-- check for SDK Build target in current path then in USQLSDKPath-->
<Import Project="UsqlSDKBuild.targets" Condition="Exists('UsqlSDKBuild.targets')" />
<Import Project="$(USQLSDKPath)\UsqlSDKBuild.targets" Condition="!Exists('UsqlSDKBuild.targets') And '$(USQLSDKPath)' != '' And Exists('$(USQLSDKPath)\UsqlSDKBuild.targets')" />
如果没有,可以使用两个选项迁移项目:
- 选项 1:将旧的导入项更改为前面的导入项。
- 选项 2:在用于 Visual Studio 的 Azure Data Lake 工具中打开旧项目。 使用低于 2.3.3000.0 的版本。 旧项目模板将自动升级到最新版本。 使用版本低于 2.3.3000.0 的新项目使用新模板。
获取 NuGet
MSBuild 不提供对 U-SQL 项目的内置支持。 要获得此支持,您需要为解决方案添加一个引用,指向添加所需语言服务的 NuGet 包 Microsoft.Azure.DataLake.USQL.SDK。
若要添加 NuGet 包引用,请在 Visual Studio 解决方案资源管理器中右键单击该解决方案,然后选择 管理 NuGet 包。 或者,可以在解决方案文件夹中添加名为 packages.config
的文件,并将以下内容放入其中:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180620" targetFramework="net452" />
</packages>
管理 U-SQL 数据库引用
U-SQL 项目中的 U-SQL 脚本可能具有 U-SQL 数据库对象的查询语句。 在这种情况下,需要在生成 U-SQL 项目之前引用包含对象的定义的相应 U-SQL 数据库项目。 例如,查询 U-SQL 表或引用程序集时。
详细了解 U-SQL 数据库项目。
注释
DROP 语句可能会导致意外删除。 若要启用 DROP 语句,需要显式指定 MSBuild 参数。 AllowDropStatement 将启用与数据无关的 DROP 操作,例如删除程序集以及删除表值函数。 AllowDataDropStatement 将启用与数据相关的 DROP 操作,例如删除表和删除模式。 在使用 AllowDataDropStatement 之前,必须启用 AllowDropStatement。
使用 MSBuild 命令行生成 U-SQL 项目
首先迁移项目并获取 NuGet 包。 然后,使用以下参数调用标准 MSBuild 命令行以生成 U-SQL 项目:
msbuild USQLBuild.usqlproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime;USQLTargetType=SyntaxCheck;DataRoot=datarootfolder;/p:EnableDeployment=true
参数定义和值如下所示:
USQLSDKPath=<U-SQL Nuget 包>\build\runtime。 此参数指 U-SQL 语言服务的 NuGet 包的安装路径。
USQLTargetType=Merge 或 SyntaxCheck:
合并。 合并模式编译后置代码文件。 示例包括 .cs、.py和 .r 文件。 它将生成的用户定义的代码库内联到 U-SQL 脚本中。 示例包括 dll 二进制文件、Python 或 R 代码。
SyntaxCheck。 SyntaxCheck 模式首先将后台代码文件合并到 U-SQL 脚本中。 然后,它会编译 U-SQL 脚本来验证代码。
DataRoot=<DataRoot 路径>。 只有 SyntaxCheck 模式才需要 DataRoot。 使用 SyntaxCheck 模式生成脚本时,MSBuild 会检查对脚本中数据库对象的引用。 在生成之前,在生成计算机的 DataRoot 文件夹中设置一个匹配的本地环境,其中包含来自 U-SQL 数据库的引用对象。 还可以通过 引用 U-SQL 数据库项目来管理这些数据库依赖项。 MSBuild 仅检查数据库对象引用,而不是文件。
EnableDeployment=true 或 false。 EnableDeployment 指示是否允许在生成过程中部署引用的 U-SQL 数据库。 如果引用 U-SQL 数据库项目并使用 U-SQL 脚本中的数据库对象,请将此参数设置为 true。
通过 Azure Pipelines 持续集成
除了命令行,还可以使用 Visual Studio 生成或 MSBuild 任务在 Azure Pipelines 中生成 U-SQL 项目。 若要设置生成管道,请确保在生成管道中添加两个任务:NuGet 还原任务和 MSBuild 任务。
的 MSBuild 任务
添加一个 NuGet 还原任务,以获取包含
Azure.DataLake.USQL.SDK
的 NuGet 包,该包由解决方案引用,从而使 MSBuild 可以找到 U-SQL 语言目标。 如果要直接在步骤 2 中使用 MSBuild 参数示例,请将 高级>目标目录 设置为$(Build.SourcesDirectory)/packages
。在 Visual Studio 生成工具或 MSBuild 任务中设置 MSBuild 参数,如以下示例所示。 或者,可以在 Azure Pipelines 生成管道中为这些参数定义变量。
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime /p:USQLTargetType=SyntaxCheck /p:DataRoot=$(Build.SourcesDirectory) /p:EnableDeployment=true
U-SQL 项目生成输出
运行生成之后,U-SQL 项目中的所有脚本会被构建并输出到一个名为 USQLProjectName.usqlpack
的 zip 文件中。 项目中的文件夹结构保留在压缩的生成输出中。
注释
每个 U-SQL 脚本的代码文件将作为内联语句合并到脚本生成的输出中。
测试 U-SQL 脚本
Azure Data Lake 为 U-SQL 脚本和 C# UDO/UDAG/UDF 提供测试项目:
了解如何在 Azure Pipelines 中运行测试用例。
部署 U-SQL 作业
通过生成和测试过程验证代码后,可以通过 Azure PowerShell 任务直接从 Azure Pipelines 提交 U-SQL 作业。 还可以将脚本部署到 Azure Data Lake Store 或 Azure Blob 存储,并 通过 Azure 数据工厂运行计划作业。
通过 Azure Pipelines 提交 U-SQL 作业
U-SQL 项目的生成输出是一个名为 USQLProjectName.usqlpack的 zip 文件。 zip 文件包括项目中的所有 U-SQL 脚本。 可以在 Pipelines 中将 Azure PowerShell 任务 与以下示例 PowerShell 脚本配合使用,直接从 Azure Pipelines 提交 U-SQL 作业。
<#
This script can be used to submit U-SQL Jobs with given U-SQL project build output(.usqlpack file).
This will unzip the U-SQL project build output, and submit all scripts one-by-one.
Note: the code behind file for each U-SQL script will be merged into the built U-SQL script in build output.
Example :
USQLJobSubmission.ps1 -ADLAAccountName "myadlaaccount" -ArtifactsRoot "C:\USQLProject\bin\debug\" -DegreeOfParallelism 2
#>
param(
[Parameter(Mandatory=$true)][string]$ADLAAccountName, # ADLA account name to submit U-SQL jobs
[Parameter(Mandatory=$true)][string]$ArtifactsRoot, # Root folder of U-SQL project build output
[Parameter(Mandatory=$false)][string]$DegreeOfParallelism = 1
)
function Unzip($USQLPackfile, $UnzipOutput)
{
$USQLPackfileZip = Rename-Item -Path $USQLPackfile -NewName $([System.IO.Path]::ChangeExtension($USQLPackfile, ".zip")) -Force -PassThru
Expand-Archive -Path $USQLPackfileZip -DestinationPath $UnzipOutput -Force
Rename-Item -Path $USQLPackfileZip -NewName $([System.IO.Path]::ChangeExtension($USQLPackfileZip, ".usqlpack")) -Force
}
## Get U-SQL scripts in U-SQL project build output(.usqlpack file)
Function GetUsqlFiles()
{
$USQLPackfiles = Get-ChildItem -Path $ArtifactsRoot -Include *.usqlpack -File -Recurse -ErrorAction SilentlyContinue
$UnzipOutput = Join-Path $ArtifactsRoot -ChildPath "UnzipUSQLScripts"
foreach ($USQLPackfile in $USQLPackfiles)
{
Unzip $USQLPackfile $UnzipOutput
}
$USQLFiles = Get-ChildItem -Path $UnzipOutput -Include *.usql -File -Recurse -ErrorAction SilentlyContinue
return $USQLFiles
}
## Submit U-SQL scripts to ADLA account one-by-one
Function SubmitAnalyticsJob()
{
$usqlFiles = GetUsqlFiles
Write-Output "$($usqlFiles.Count) jobs to be submitted..."
# Submit each usql script and wait for completion before moving ahead.
foreach ($usqlFile in $usqlFiles)
{
$scriptName = "[Release].[$([System.IO.Path]::GetFileNameWithoutExtension($usqlFile.fullname))]"
Write-Output "Submitting job for '{$usqlFile}'"
$jobToSubmit = Submit-AzDataLakeAnalyticsJob -Account $ADLAAccountName -Name $scriptName -ScriptPath $usqlFile -DegreeOfParallelism $DegreeOfParallelism
LogJobInformation $jobToSubmit
Write-Output "Waiting for job to complete. Job ID:'{$($jobToSubmit.JobId)}', Name: '$($jobToSubmit.Name)' "
$jobResult = Wait-AzDataLakeAnalyticsJob -Account $ADLAAccountName -JobId $jobToSubmit.JobId
LogJobInformation $jobResult
}
}
Function LogJobInformation($jobInfo)
{
Write-Output "************************************************************************"
Write-Output ([string]::Format("Job Id: {0}", $(DefaultIfNull $jobInfo.JobId)))
Write-Output ([string]::Format("Job Name: {0}", $(DefaultIfNull $jobInfo.Name)))
Write-Output ([string]::Format("Job State: {0}", $(DefaultIfNull $jobInfo.State)))
Write-Output ([string]::Format("Job Started at: {0}", $(DefaultIfNull $jobInfo.StartTime)))
Write-Output ([string]::Format("Job Ended at: {0}", $(DefaultIfNull $jobInfo.EndTime)))
Write-Output ([string]::Format("Job Result: {0}", $(DefaultIfNull $jobInfo.Result)))
Write-Output "************************************************************************"
}
Function DefaultIfNull($item)
{
if ($item -ne $null)
{
return $item
}
return ""
}
Function Main()
{
Write-Output ([string]::Format("ADLA account: {0}", $ADLAAccountName))
Write-Output ([string]::Format("Root folde for usqlpack: {0}", $ArtifactsRoot))
Write-Output ([string]::Format("AU count: {0}", $DegreeOfParallelism))
Write-Output "Starting USQL script deployment..."
SubmitAnalyticsJob
Write-Output "Finished deployment..."
}
Main
注释
命令:Submit-AzDataLakeAnalyticsJob
和 Wait-AzDataLakeAnalyticsJob
都是 Azure 资源管理器框架中 Azure Data Lake Analytics 的 Azure PowerShell cmdlet。 你需要一个安装了 Azure PowerShell 的工作站。 有关更多命令和示例,可以参考 命令列表。
通过 Azure 数据工厂部署 U-SQL 作业
可以直接从 Azure Pipelines 提交 U-SQL 作业。 或者,可以将生成的脚本上传到 Azure Data Lake Store 或 Azure Blob 存储,通过 Azure 数据工厂运行计划作业。
将 Azure Pipelines 中的 Azure PowerShell 任务 与以下示例 PowerShell 脚本配合使用,将 U-SQL 脚本上传到 Azure Data Lake Store 帐户:
<#
This script can be used to upload U-SQL files to ADLS with given U-SQL project build output(.usqlpack file).
This will unzip the U-SQL project build output, and upload all scripts to ADLS one-by-one.
Example :
FileUpload.ps1 -ADLSName "myadlsaccount" -ArtifactsRoot "C:\USQLProject\bin\debug\"
#>
param(
[Parameter(Mandatory=$true)][string]$ADLSName, # ADLS account name to upload U-SQL scripts
[Parameter(Mandatory=$true)][string]$ArtifactsRoot, # Root folder of U-SQL project build output
[Parameter(Mandatory=$false)][string]$DestinationFolder = "USQLScriptSource" # Destination folder in ADLS
)
Function UploadResources()
{
Write-Host "************************************************************************"
Write-Host "Uploading files to $ADLSName"
Write-Host "***********************************************************************"
$usqlScripts = GetUsqlFiles
$files = @(get-childitem $usqlScripts -recurse)
foreach($file in $files)
{
Write-Host "Uploading file: $($file.Name)"
Import-AzDataLakeStoreItem -AccountName $ADLSName -Path $file.FullName -Destination "/$(Join-Path $DestinationFolder $file)" -Force
}
}
function Unzip($USQLPackfile, $UnzipOutput)
{
$USQLPackfileZip = Rename-Item -Path $USQLPackfile -NewName $([System.IO.Path]::ChangeExtension($USQLPackfile, ".zip")) -Force -PassThru
Expand-Archive -Path $USQLPackfileZip -DestinationPath $UnzipOutput -Force
Rename-Item -Path $USQLPackfileZip -NewName $([System.IO.Path]::ChangeExtension($USQLPackfileZip, ".usqlpack")) -Force
}
Function GetUsqlFiles()
{
$USQLPackfiles = Get-ChildItem -Path $ArtifactsRoot -Include *.usqlpack -File -Recurse -ErrorAction SilentlyContinue
$UnzipOutput = Join-Path $ArtifactsRoot -ChildPath "UnzipUSQLScripts"
foreach ($USQLPackfile in $USQLPackfiles)
{
Unzip $USQLPackfile $UnzipOutput
}
return Get-ChildItem -Path $UnzipOutput -Include *.usql -File -Recurse -ErrorAction SilentlyContinue
}
UploadResources
U-SQL 数据库的 CI/CD
用于 Visual Studio 的 Azure Data Lake 工具提供 U-SQL 数据库项目模板,可帮助你开发、管理和部署 U-SQL 数据库。 详细了解 U-SQL 数据库项目。
生成 U-SQL 数据库项目
获取 NuGet 包
MSBuild 不提供对 U-SQL 数据库项目的内置支持。 若要获得此功能,您需要将解决方案引用添加到 Microsoft.Azure.DataLake.USQL.SDK NuGet 包中,该包提供所需的语言服务。
若要添加 NuGet 包引用,请在 Visual Studio 解决方案资源管理器中右键单击该解决方案。 选择 管理 NuGet 包。 然后搜索并安装 NuGet 包。 或者,可以在解决方案文件夹中添加名为 packages.config 的文件,并将以下内容放入其中:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.DataLake.USQL.SDK" version="1.3.180615" targetFramework="net452" />
</packages>
使用 MSBuild 命令行构建 U-SQL 数据库项目
若要生成 U-SQL 数据库项目,请调用标准 MSBuild 命令行,并将 U-SQL SDK NuGet 包引用作为另一个参数传递。 请参阅以下示例:
msbuild DatabaseProject.usqldbproj /p:USQLSDKPath=packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.180615\build\runtime
参数 USQLSDKPath=<U-SQL Nuget package>\build\runtime
指 U-SQL 语言服务的 NuGet 包的安装路径。
与 Azure Pipelines 的持续集成
除了命令行,还可以使用 Visual Studio 生成或 MSBuild 任务在 Azure Pipelines 中生成 U-SQL 数据库项目。 若要设置生成任务,请确保在生成管道中添加两个任务:NuGet 还原任务和 MSBuild 任务。
添加 NuGet 还原任务以获取解决方案引用的 NuGet 包(包括
Azure.DataLake.USQL.SDK
),以便 MSBuild 可以找到 U-SQL 语言目标。 如果要直接在步骤 2 中使用 MSBuild 参数示例,请将 高级>目标目录 设置为$(Build.SourcesDirectory)/packages
。为 U-SQL 项目的
在 Visual Studio 生成工具或 MSBuild 任务中设置 MSBuild 参数,如以下示例所示。 或者,可以在 Azure Pipelines 生成管道中为这些参数定义变量。
/p:USQLSDKPath=$(Build.SourcesDirectory)/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180615/build/runtime
U-SQL 数据库项目生成输出
U-SQL 数据库项目的生成输出是一个 U-SQL 数据库部署包,其后缀为 .usqldbpack
。
.usqldbpack
包是一个 zip 文件,其中包含 DDL 文件夹中单个 U-SQL 脚本中的所有 DDL 语句。 它包括用于临时文件夹中程序集的所有 .dlls 和其他文件。
测试表值函数和存储过程
目前不支持直接为表值函数和存储过程添加测试用例。 解决方法是,可以创建一个 U-SQL 项目,该项目具有 U-SQL 脚本来调用这些函数并为其编写测试用例。 执行以下步骤,为 U-SQL 数据库项目中定义的表值函数和存储过程设置测试用例:
创建用于测试目的的 U-SQL 项目,并编写调用表值函数和存储过程的 U-SQL 脚本。
添加对 U-SQL 项目的数据库引用。 若要获取表值函数和存储过程定义,需要引用包含 DDL 语句的数据库项目。 详细了解 数据库引用。
为调用表值函数和存储过程的 U-SQL 脚本添加测试用例。 了解如何 为 U-SQL 脚本添加测试用例。
通过 Azure Pipelines 部署 U-SQL 数据库
PackageDeploymentTool.exe
提供了帮助部署 U-SQL 数据库部署包的编程和命令行接口,.usqldbpack。 SDK 包含在位于 生成/运行时/PackageDeploymentTool.exe的 U-SQL SDK NuGet 包中。 通过使用 PackageDeploymentTool.exe
,可以将 U-SQL 数据库部署到 Azure Data Lake Analytics 和本地帐户。
注释
PowerShell 命令行对 U-SQL 数据库部署的支持以及 Azure Pipelines 发布任务支持目前仍在等待中。
执行以下步骤在 Azure Pipelines 中设置数据库部署任务:
在生成或发布管道中添加 PowerShell 脚本任务,并执行以下 PowerShell 脚本。 此任务有助于获取用于
PackageDeploymentTool.exe
和PackageDeploymentTool.exe
的 Azure SDK 依赖项。 可以设置 -AzureSDK 和 -DBDeploymentTool 参数,将依赖项和部署工具加载到特定文件夹。 将 -AzureSDK 路径作为步骤 2 中的PackageDeploymentTool.exe
参数传递给 。<# This script is used for getting dependencies and SDKs for U-SQL database deployment. PowerShell command line support for deploying U-SQL database package(.usqldbpack file) will come soon. Example : GetUSQLDBDeploymentSDK.ps1 -AzureSDK "AzureSDKFolderPath" -DBDeploymentTool "DBDeploymentToolFolderPath" #> param ( [string]$AzureSDK = "AzureSDK", # Folder to cache Azure SDK dependencies [string]$DBDeploymentTool = "DBDeploymentTool", # Folder to cache U-SQL database deployment tool [string]$workingfolder = "" # Folder to execute these command lines ) if ([string]::IsNullOrEmpty($workingfolder)) { $scriptpath = $MyInvocation.MyCommand.Path $workingfolder = Split-Path $scriptpath } cd $workingfolder echo "workingfolder=$workingfolder, outputfolder=$outputfolder" echo "Downloading required packages..." iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.Management.DataLake.Analytics/3.5.1-preview -outf Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.Management.DataLake.Store/2.4.1-preview -outf Microsoft.Azure.Management.DataLake.Store.2.4.1-preview.zip iwr https://www.nuget.org/api/v2/package/Microsoft.IdentityModel.Clients.ActiveDirectory/2.28.3 -outf Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime/2.3.11 -outf Microsoft.Rest.ClientRuntime.2.3.11.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime.Azure/3.3.7 -outf Microsoft.Rest.ClientRuntime.Azure.3.3.7.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Rest.ClientRuntime.Azure.Authentication/2.3.3 -outf Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3.zip iwr https://www.nuget.org/api/v2/package/Newtonsoft.Json/6.0.8 -outf Newtonsoft.Json.6.0.8.zip iwr https://www.nuget.org/api/v2/package/Microsoft.Azure.DataLake.USQL.SDK/ -outf USQLSDK.zip echo "Extracting packages..." Expand-Archive Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview.zip -DestinationPath Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview -Force Expand-Archive Microsoft.Azure.Management.DataLake.Store.2.4.1-preview.zip -DestinationPath Microsoft.Azure.Management.DataLake.Store.2.4.1-preview -Force Expand-Archive Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3.zip -DestinationPath Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3 -Force Expand-Archive Microsoft.Rest.ClientRuntime.2.3.11.zip -DestinationPath Microsoft.Rest.ClientRuntime.2.3.11 -Force Expand-Archive Microsoft.Rest.ClientRuntime.Azure.3.3.7.zip -DestinationPath Microsoft.Rest.ClientRuntime.Azure.3.3.7 -Force Expand-Archive Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3.zip -DestinationPath Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3 -Force Expand-Archive Newtonsoft.Json.6.0.8.zip -DestinationPath Newtonsoft.Json.6.0.8 -Force Expand-Archive USQLSDK.zip -DestinationPath USQLSDK -Force echo "Copy required DLLs to output folder..." mkdir $AzureSDK -Force mkdir $DBDeploymentTool -Force copy Microsoft.Azure.Management.DataLake.Analytics.3.5.1-preview\lib\net452\*.dll $AzureSDK copy Microsoft.Azure.Management.DataLake.Store.2.4.1-preview\lib\net452\*.dll $AzureSDK copy Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.2.3.11\lib\net452\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.Azure.3.3.7\lib\net452\*.dll $AzureSDK copy Microsoft.Rest.ClientRuntime.Azure.Authentication.2.3.3\lib\net452\*.dll $AzureSDK copy Newtonsoft.Json.6.0.8\lib\net45\*.dll $AzureSDK copy USQLSDK\build\runtime\*.* $DBDeploymentTool
在生成或发布管道中添加 Command-Line 任务,并通过调用
PackageDeploymentTool.exe
填写脚本。PackageDeploymentTool.exe
位于定义的 $DBDeploymentTool 文件夹下。 示例脚本如下所示:在本地部署 U-SQL 数据库:
PackageDeploymentTool.exe deploylocal -Package <package path> -Database <database name> -DataRoot <data root path>
使用交互式身份验证模式将 U-SQL 数据库部署到 Azure Data Lake Analytics 帐户:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -AzureSDKPath <azure sdk path> -Interactive
使用 机密 身份验证将 U-SQL 数据库部署到 Azure Data Lake Analytics 帐户:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -ClientId <client id> -Secrete <secrete>
使用 certFile 身份验证将 U-SQL 数据库部署到 Azure Data Lake Analytics 帐户:
PackageDeploymentTool.exe deploycluster -Package <package path> -Database <database name> -Account <account name> -ResourceGroup <resource group name> -SubscriptionId <subscript id> -Tenant <tenant name> -ClientId <client id> -Secrete <secrete> -CertFile <certFile>
PackageDeploymentTool.exe 参数说明
常见参数
参数 | 说明 | 默认值 | 必选 |
---|---|---|---|
封装件 | 要部署的 U-SQL 数据库部署包的路径。 | 零 | 是 |
数据库 | 要部署到或创建的数据库名称。 | 大师 | 假 |
LogFile | 用于日志记录的文件的路径。 默认为标准输出(终端)。 | 零 | 假 |
LogLevel | 日志级别:详细、正常、警告或错误。 | LogLevel.普通 | 假 |
本地部署的参数
参数 | 说明 | 默认值 | 必选 |
---|---|---|---|
DataRoot | 本地数据根文件夹的路径。 | 零 | 是 |
Azure Data Lake Analytics 部署的参数
参数 | 说明 | 默认值 | 必选 |
---|---|---|---|
帐户 | 指定要按帐户名称部署到的 Azure Data Lake Analytics 帐户。 | 零 | 是 |
ResourceGroup | Azure Data Lake Analytics 帐户的 Azure 资源组名称。 | 零 | 是 |
订阅ID | Azure Data Lake Analytics 帐户的 Azure 订阅 ID。 | 零 | 是 |
租户 | 租户名称是“Microsoft Entra”域名。 在 Azure 门户的订阅管理页中找到它。 | 零 | 是 |
AzureSDKPath | 在 Azure SDK 中搜索依赖程序集的路径。 | 零 | 是 |
交互 | 是否使用交互式模式进行身份验证。 | 假 | 假 |
ClientId | 用于非交互式身份验证所需的 Microsoft Entra 应用程序 ID。 | 零 | 需要进行非交互式身份验证。 |
秘密 | 非交互式身份验证的机密或密码。 它只应在受信任的安全环境中使用。 | 零 | 非交互式身份验证是必需的,否则请使用 SecreteFile。 |
SecretFile | 该文件保存用于非交互式身份验证的机密或密码。 请确保仅限当前用户可读。 | 零 | 非交互式身份验证是必需的,否则请使用机密。 |
CertFile | 该文件保存用于非交互式身份验证的 X.509 认证。 默认值是使用客户端机密身份验证。 | 零 | 假 |
职位前缀 | 用于 U-SQL DDL 作业数据库部署的前缀。 | Deploy_ + DateTime.Now | 假 |