我可以在不使用管道的情况下从 Azure Synapse 查询 SQL 服务器数据库吗?
Can I Query a SQL Server Database from Azure Synapse Without Using a Pipeline?
是否可以使用 Pyspark+SQL 从 Azure 突触工作簿对 SQL 服务器数据库执行“SELECT”语句查询?
我能够将数据从 SQL 服务器数据库提取到 Azure Synapse 的唯一方法是创建集成管道。
我刚开始使用 Azure Synapse 和 Apache Spark,因此非常感谢您提供任何建议。
这在理论上是可行的,我已经使用 Azure SQL 数据库进行了测试。我不是 100% 确定它可以与 SQL 服务器一起使用。这将要求网络安全是正确的,并且两个数据库之间应该有视线。例如,您的 SQL 服务器是否在 Azure 中,它们是在同一个 vnet 还是对等 vnet 上?
Synapse 笔记本中的一个简单示例:
import pyodbc
sqlQuery = "select @@version v"
try:
conn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};'
'SERVER=someSynapseDB.sql.azuresynapse.net;'
'DATABASE=yourDatabaseName;UID=someReadOnlyUser;'
'PWD=youWish;', autocommit = True )
cursor = conn.cursor()
cursor.execute(sqlQuery)
row = cursor.fetchone()
while row:
print(row[0])
row = cursor.fetchone()
except:
raise
finally:
# Tidy up
cursor.close()
conn.close()
我的结果:
受此 post Jovan Popovic 的启发:
出于兴趣,您在笔记本中这样做有什么特别的原因吗? Synapse 管道是一种非常好的方式,典型的模式是将数据暂存到数据湖中,例如,您是否需要使用笔记本来实现某些特殊功能?
是否可以使用 Pyspark+SQL 从 Azure 突触工作簿对 SQL 服务器数据库执行“SELECT”语句查询?
我能够将数据从 SQL 服务器数据库提取到 Azure Synapse 的唯一方法是创建集成管道。
我刚开始使用 Azure Synapse 和 Apache Spark,因此非常感谢您提供任何建议。
这在理论上是可行的,我已经使用 Azure SQL 数据库进行了测试。我不是 100% 确定它可以与 SQL 服务器一起使用。这将要求网络安全是正确的,并且两个数据库之间应该有视线。例如,您的 SQL 服务器是否在 Azure 中,它们是在同一个 vnet 还是对等 vnet 上?
Synapse 笔记本中的一个简单示例:
import pyodbc
sqlQuery = "select @@version v"
try:
conn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};'
'SERVER=someSynapseDB.sql.azuresynapse.net;'
'DATABASE=yourDatabaseName;UID=someReadOnlyUser;'
'PWD=youWish;', autocommit = True )
cursor = conn.cursor()
cursor.execute(sqlQuery)
row = cursor.fetchone()
while row:
print(row[0])
row = cursor.fetchone()
except:
raise
finally:
# Tidy up
cursor.close()
conn.close()
我的结果:
受此 post Jovan Popovic 的启发:
出于兴趣,您在笔记本中这样做有什么特别的原因吗? Synapse 管道是一种非常好的方式,典型的模式是将数据暂存到数据湖中,例如,您是否需要使用笔记本来实现某些特殊功能?