首页 > 编程语言 >最简大数据开发环境(二)Python+Spark版

最简大数据开发环境(二)Python+Spark版

时间:2023-02-24 16:34:07浏览次数:43  
标签:简大 Python mongodb ip test Spark spark option

 

最简大数据开发环境(一) Scala+Spark版

最简大数据开发环境(二) Python+Spark版

  一年前,分享了基于sbt搭建的用Scala语言开发Spark应用的教程,最近又用Python语言实践了开发Spark应用,再次做个分享。

  创建项目

  •   创建项目文件夹

  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())

 

标签:简大,Python,mongodb,ip,test,Spark,spark,option
From: https://www.cnblogs.com/threebody/p/17151486.html

相关文章

  • Python+Appium实现APP自动化测试
    一、环境准备1.脚本语言:Python3.xIDE:安装Pycharm2.安装JavaJDK、AndroidSDK3.adb环境,path添加E:\Software\Android_SDK\platform-tools4.安装Appiumforwindows,官......
  • GDB解coredump文件报Python异常解决办法
    GDB解coredump文件报Python异常解决办法解core文件经常提示以下错误信息:PythonException<class'ModuleNotFoundError'>Nomodulenamed'gdb':gdb:warning:Couldno......
  • Python 简易小项目
    Prerequisite实习的时候有个这样要求,虽然我不太想做,但毕竟是工作(其实还有点意思),于是我花了几个小时出(魔改)了几道,此贴作个记录构建一个简易图书馆#!/usr/bin/envpytho......
  • Python中出现IndentationError:unindent does not match any outer indentation level
    【问题】 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError:unindentdoesnotmatchanyo......
  • Python代码段
    EXCEL导出操作deflists_to_xls(rows,xls,header=None):columns=rows[0]range_columns=range(len(columns))data=rows[1:]startrow=0......
  • Python数据分析
    数据分析01_abnormal_checkCode1#-*-coding:utf-8-*-23#代码3-1使用describe()方法即可查看数据的基本情况4importpandasaspd5caterin......
  • Python 常用内置函数 二
    enumerateenumerate函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。enumerate(sequence,[start=0])sequence是一......
  • python print的多种使用
    print函数用于打印和输出代码内容,本篇我们将对输出的三种不同形式带来详细介绍。1、print()函数输出的内容:数字,字符串,含有运算符的表达式。#数字print(520)print(98.5)#字符......
  • python网页中下拉框的操作
    1、只要是第一次打开页面可以加载的元素,就可以通过元素定位来定位和操作。2、如果需要先点击下拉框对象再加载选项,必须先点击脚本,等待选项元素加载。实例1.实例化select对象......
  • 提高Python运行效率的5个技巧
    与其他编程语言相比,Python最大的特点就是能够让你在短时间内用极少的代码,实现大量的操作,比如:Java编写一个程序需要百行代码,而Python只需要十几行就能搞定。本篇文章为大家介......