首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ubuntu虚拟机(virtualbox)读取本地sql-server中的表

从ubuntu虚拟机(virtualbox)读取本地sql-server中的表
EN

Stack Overflow用户
提问于 2017-09-12 05:03:50
回答 2查看 252关注 0票数 1

我在一台以Windows10作为主机操作系统的机器上,我有一台使用virtualbox安装的Ubuntu16.04虚拟机。我还在Windows上运行SQL server,并在我的虚拟机(Ubuntu)上安装了spark-2.1.1-bin-hadoop2.7。

在我的windows机器上,我可以使用pandas使用以下代码从服务器读取表:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import pandas.io.sql
import pyodbc

# Parameters
server = 'localhost'
db = 'Claro'

# Create the connection
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + db + ';Trusted_Connection=yes')

# query db
sql = """

SELECT *
  FROM [Claro].[dbo].[TMP_FRD_CTV_TOTAL]

"""
# Excute Query here
df = pd.read_sql(sql, conn, chunksize=10000) 

我想知道是否可以从虚拟机中使用pyspark从我的SQL Server中读取相同的表。如果有可能,我应该怎么做?

非常感谢!

罗德里戈。

EN

回答 2

Stack Overflow用户

发布于 2017-09-12 05:27:37

是的,但它不会像你的代码中那样来自本地主机,你需要更改为它的公共ip地址(你可以在google上搜索查找我的ip或类似的东西),就像你连接到远程数据库服务一样。

虽然虚拟机运行在同一台计算机上,但资源是完全隔离的

票数 0
EN

Stack Overflow用户

发布于 2017-09-13 02:09:06

好了,我做到了。我使用的代码如下:

代码语言:javascript
运行
复制
# Import libraries
import findspark
findspark.init('/home/rodrigo/spark-2.1.1-bin-hadoop2.7')
import pyspark
from pyspark.sql import SparkSession

# Create a spark session
spark = SparkSession.builder.appName("Basics").getOrCreate()

# Read data
df = spark.read.format("jdbc").option("url", "jdbc:sqlserver://10.0.2.2:1433")\
        .option("dbtable", "[Claro].[dbo].[TMP_FRD_CTV_TOTAL]")\
        .option("user", "spark").option("password", "1234").load()

感谢大家的帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46164347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档