最简大数据开发环境(二)Python+Spark版
最简大数据开发环境(一) Scala+Spark版
最简大数据开发环境(二) Python+Spark版
一年前,分享了基于sbt搭建的用Scala语言开发Spark应用的教程,最近又用Python语言实践了开发Spark应用,再次做个分享。
这里同样用Vscode工具做演示,自行下载安装:
- 创建项目文件夹
mkdir LittleSpider
- 打开终端
- 创建虚拟环境
python -m venv .venv
- 安装pyspark
python -m pip install pyspark
如果一切顺利,到这里其实已经配置好了。下面给出Mongodb数据库和Sql Server数据库连接的例子,方便大家参考。
from pyspark.sql import SparkSession # 注意spark.jars.packages 是java包路径管理 # 默认是maven库。如果本地没有这个包,调试时会自动下载。 # 以下两个例子分开执行,两个连接组件包内部类有重名,在java虚拟机中会报错 #例一:读取mongodb数据源 ip = 'localhost' spark = SparkSession.builder.appName("myApp")\ .config("spark.jars.packages", "org.mongodb.spark/mongo-spark-connector_2.12:10.1.1")\ .config("spark.mongodb.read.connection.uri", f"mongodb://{ip}/erp.test")\ .config("spark.mongodb.write.connection.uri", f"mongodb://{ip}/erp.test")\ .getOrCreate() mongo_df = spark.read.format("mongodb").load() print(mongo_df.head()) #例二:读取Sql Server数据源 #注意Driver,需要明确给出,不然会报错误 # ip = 'localhost' # url = f'jdbc:sqlserver://{ip}:1433;databaseName=erp;' # spark = SparkSession.builder.appName("Spark MSSQL Connector")\ # .config("spark.jars.packages", "com.microsoft.azure:spark-mssql-connector_2.12:1.2.0")\ # .getOrCreate() # mssql_df = spark.read.format("com.microsoft.sqlserver.jdbc.spark")\ # .option('url', url)\ # .option('dbtable', 'test')\ # .option('user', 'test')\ # .option('password', 'test123')\ # .option("Driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver")\ # .load() # print(mssql_df.head())