标签: azure-synapse

数据工厂、Synapse Analytics 和 DataBricks 比较

我对 Azure 还不太熟悉,我想知道什么时候建议使用 ADF、Synapse 或 DataBricks。他们的最佳实践和性能用例是什么?

你能帮我解决这个理论问题吗?

干杯!

azure azure-data-factory databricks azure-synapse

9
推荐指数
1
解决办法
1万
查看次数

DROP TABLE IF EXISTS 不适用于 Azure SQL 数据仓库

我使用 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

8
推荐指数
2
解决办法
9713
查看次数

SQLAlchemy 错误:尝试完成事务失败。没有找到对应的交易

我已经安装了:

  • 乌班图 (18.04)
  • Python (3.6.8)
  • msodbcsql17(适用于 SQL Server 的 Microsoft ODBC 驱动程序 17)
  • SQLAlchemy (1.3.5)
  • 熊猫 (0.24.2)

我只想使用 SQLAlchemy 和 Azure SQL 数据仓库创建一个概念证明。但是,当我尝试使用以下代码对映射到客户视图表的客户模型运行查询时:

import urllib

from sqlalchemy import create_engine
from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

db_username = 'username'
db_password = 'password'
db_database = 'dbname'
db_hostname = 'dbhost'
db_driver = 'ODBC Driver 17 for SQL Server'
db_port = '1433'

db_connectionString = f"DRIVER={{{db_driver}}}; SERVER={{{db_hostname}}}; DATABASE={{{db_database}}}; UID={{{db_username}}}; PWD={{{db_password}}}; PORT={{{db_port}}};"

engine_params = urllib.parse.quote_plus(db_connectionString)

engine = create_engine(f"mssql+pyodbc:///?odbc_connect={engine_params}", echo=True) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy pyodbc msodbcsql17 azure-synapse

8
推荐指数
1
解决办法
7226
查看次数

Spark 池在 azure synapse Analytics 中启动需要时间

我在 Azure synapse Analytics 中使用 pyspark 代码创建了 3 个不同的笔记本。笔记本正在使用 Spark 池运行。所有 3 台笔记本都只有一个 Spark 池。当这 3 个笔记本单独运行时,默认情况下,Spark 池会为所有 3 个笔记本启动。

我面临的问题与火花池有关。每个笔记本启动需要 10 分钟。分配的 Vcor​​e 是 4,执行器是 1。有人可以帮我知道如何在 azure synapse Analytics 中提高 Spark 池的启动吗?

python azure apache-spark pyspark azure-synapse

7
推荐指数
1
解决办法
5518
查看次数

Synapse Spark - 用于架构演变和写入优化的 Deltalake 配置

我正在寻找 Synapse Spark 中的 databricks 等效属性。请告诉我是否有任何相同的问题或解决方法。

  1. 使用 MERGE 命令插入/更新数据。但是,它不支持架构合并。是否有任何属性可以启用自动合并?Databricks 中的spark.conf.set("spark.databricks.delta.schema.autoMerge.enabled","true")

  2. 如何使用 delta Merge 命令控制部分文件的数量或优化写入?设置spark.databricks.delta.properties.defaults.autoOptimize.optimizeWrite = true; 设置spark.databricks.delta.properties.defaults.autoOptimize.autoCompact = true;

azure-synapse

7
推荐指数
0
解决办法
489
查看次数

Azure Databricks 到 Azure SQL DW:长文本列

我想从 Azure Databricks 笔记本环境填充 Azure SQL DW。我正在使用 pyspark 的内置连接器:

sdf.write \
  .format("com.databricks.spark.sqldw") \
  .option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "test_table") \
  .option("url", url) \
  .option("tempDir", temp_dir) \
  .save()
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我包含内容足够长的字符串列时,我会收到错误。我收到以下错误:

Py4JJavaError:调用 o1252.save 时发生错误。:com.databricks.spark.sqldw.SqlDWSideException:SQL DW 无法执行连接器生成的 JDBC 查询。

底层 SQLException: - com.microsoft.sqlserver.jdbc.SQLServerException:HdfsBridge::recordReaderFillBuffer - 填充记录读取器缓冲区时遇到意外错误:HadoopSqlException:字符串或二进制数据将被截断。[错误代码 = 107090] [SQLState = S0001]

据我了解,这是因为默认字符串类型是 NVARCHAR(256)。可以配置(参考),但最大 NVARCHAR 长度为 4k 个字符。我的字符串有时会达到 10k 个字符。因此,我很好奇如何将某些列导出为文本/长文本。

我猜想,如果仅preActions在创建表后执行,则以下内容会起作用。事实并非如此,因此它失败了。

sdf.write \
  .format("com.databricks.spark.sqldw") \
  .option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "test_table") \
  .option("url", url) \
  .option("tempDir", temp_dir) \
  .option("preActions", "ALTER TABLE test_table ALTER …
Run Code Online (Sandbox Code Playgroud)

pyspark azure-databricks azure-synapse

6
推荐指数
1
解决办法
3783
查看次数

插入 ssms 中的突触 DW

简单的插入代码,但我不断收到语法错误,值行在表中的每一列都有一个值,它只有 3 列,我尝试删除逗号,尝试使用分号,在关闭父级后什么也没尝试,尝试显式声明列名称在值之前对这段简单的代码没有任何作用

插入语句语法错误

sql ssms azure-synapse

6
推荐指数
1
解决办法
5694
查看次数

列出 Azure Synapse 中 Spark 代码中的目录内容

在 Databricks 的 Scala 语言中,命令dbutils.fs.ls列出目录的内容。但是,我正在 Azure Synapse 中的笔记本上工作,它没有 dbutils 包。dbutils.fs.ls 对应的 Spark 命令是什么?

%%scala
  dbutils.fs.ls("abfss://container@datalake.dfs.core.windows.net/outputs/wrangleddata")
Run Code Online (Sandbox Code Playgroud)
%%spark
  // list the content of a directory. ????
Run Code Online (Sandbox Code Playgroud)

scala azure-synapse

6
推荐指数
1
解决办法
1万
查看次数

使用 Azure Synapse Analytics 笔记本将数据写入 Azure Data Lake Storage Gen 2

我使用 Azure Synapse Analytics 笔记本连接到 RESTful api,并将 json 文件写入 Azure Data Lake Storage Gen 2。

pyspark代码:

import requests
response = requests.get('https://api.web.com/v1/data.json')
data = response.json()
from pyspark.sql import *
df = spark.read.json(sc.parallelize([data]))
from pyspark.sql.types import *
account_name = "name of account"
container_name = "name of container"
relative_path = "name of file path"    #abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)
spark.conf.set('fs.%s@%s.dfs.core.windows.net/%s' % (container_name, account_name), "account_key") #not sure I'm doing the configuration right
df.write.mode("overwrite").json(adls_path)
Run Code Online (Sandbox Code Playgroud)

错误:

Py4JJavaError : An error occurred while calling …
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark azure-synapse

6
推荐指数
1
解决办法
6448
查看次数

通过 Synapse Pipelines 执行 Azure Synapse Notebook 时访问 Key Vault 时出错

我正在尝试使用 Synapse 管道中的笔记本活动来执行 Azure Synapse 笔记本,但在调试管道时不断出现错误,笔记本正在使用,TokenLibrary.getSecret()并且看起来访问密钥保管库是问题所在。

笔记本在执行时运行良好,当添加为管道活动时,会出现错误。

密钥保管库访问策略设置为让我和 Synapse 应用程序获取并列出秘密。

非常感谢您提前提供的任何帮助。马里尤什

参考错误消息:

Microsoft Azure
Synapse Analytics

Search

/
feature/fixError6002 branch


Develop


Filter resources by name
SQL scripts
1

Notebooks
40

Data flows
1

Activities
Search activities
Synapse
Move & transform
Azure Data Explorer
Azure Function
Batch Service
Databricks
Data Lake Analytics
General
HDInsight
Iteration & conditionals
Machine Learning
Pipeline run ID:
58ff181a-37e6-47b8-b3d8-fe94295b9ec7


View debug run consumption
Name

Type

Run start

Duration

Status

Integration runtime

Run ID

Invoke Notebook …
Run Code Online (Sandbox Code Playgroud)

runtime-error azure-data-factory azure-keyvault azure-synapse

6
推荐指数
1
解决办法
6479
查看次数