iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python开发sparkSQL应用
  • 267
分享到

python开发sparkSQL应用

pythonsparkSQL 2023-01-31 06:01:48 267人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

准备条件:部署hadoop集群部署spark集群安装python(本人安装的是anaconda3,Python是3.6)配置环境环境变量:vi .bashrc  #添加如下内容 export SPARK_HOME=/opt/spark/cu

准备条件:

  1. 部署hadoop集群

  2. 部署spark集群

  3. 安装python(本人安装的是anaconda3,Python是3.6)


配置环境环境变量:

vi .bashrc  #添加如下内容
export SPARK_HOME=/opt/spark/current
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip

ps:spark里面会自带一个pyspark模块,但是本人官方下载的 spark2.1中的pyspark 与 python3.6 不兼容,存在bug,如果看官用的也是 python3的话,建议到githup下载最新的 pyspark 替换掉$SPARK_HOME/python目录下面的pyspark。


开启打怪升级:

1.启动hadoop集群和spark集群

wKiom1jCVlixB8kQAAGFqgUZuCI747.png-wh_50

wKioL1jCVlmivTckAAJOWt1bsw4843.png-wh_50

2.将数据传到hadoop文件系统上,people.JSON是官方提供的案例数据,salary.json是本人自己新建的数据

hadoop fs -mkdir -p /user/hadoop/examples/src/main/resources/
hadoop fs -put people.json /user/hadoop/examples/src/main/resources/
hadoop fs -put salary.json /user/hadoop/examples/src/main/resources/

wKioL1jCVW2BmKrnAADD5olPo3M605.png-wh_50

3.编写python Sparksql程序

# -*- coding: utf-8 -*-
"""
Created on Wed Feb 22 15:07:44 2017
练习SparkSQL
@author: wanghuan
"""
from pyspark.sql import SparkSession

spark = SparkSession.builder.master("spark://cent0s7Master:7077").appName("Python Spark SQL basic example").config("spark.some.config.option", "some-value") 
.getOrCreate()
#ssc=SparkContext("local[2]","sparksqltest")
peopleDF = spark.read.json("examples/src/main/resources/people.json")
salaryDF = spark.read.json("examples/src/main/resources/salary.json")
#peopleDF.printSchema()

# Creates a temporary view using the DataFrame
peopleDF.createOrReplaceTempView("people")
salaryDF.createOrReplaceTempView("salary")
# SQL statements can be run by using the sql methods provided by spark
teenagerNamesDF = spark.sql("SELECT a.name,a.age,b.salary FROM people a,salary b where a.name=b.name and a.age <30 and b.salary>5000")
teenagerNamesDF.show()

4.运行SparkSQL 应用

wKioL1jCWASTDnHIAAD6heGNgnw930.png-wh_50

wKiom1jCWGTBWM6_AAG0caMnK84363.png-wh_50

运行花了42秒(这个执行时间我觉得有点长,应该跟本人虚拟机性能不咋地相关,本人就是个dell笔记本跑四个虚拟机),结果出来了, 19岁的Justin工资就到了10000了,真是年轻有为呀。


ps:本人原打算是用java或者Scala开发spark应用的,但是,配置开发环境真的是心酸的历程,最麻烦的是scala的编译环境,sbt或者Maven下载很多包,国外的包下载不下来(原因大家都懂的)。我只能转而用解释性的python来编写了,至少不用下载国外的编译包了。

--结束END--

本文标题: python开发sparkSQL应用

本文链接: https://www.lsjlt.com/news/190235.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python开发sparkSQL应用
    准备条件:部署hadoop集群部署spark集群安装python(本人安装的是anaconda3,python是3.6)配置环境环境变量:vi .bashrc  #添加如下内容 export SPARK_HOME=/opt/spark/cu...
    99+
    2023-01-31
    python sparkSQL
  • IDEA如何开发配置SparkSQL
    这篇文章将为大家详细讲解有关IDEA如何开发配置SparkSQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.添加依赖在idea项目的pom.xml中添加依赖。<!--spark sq...
    99+
    2023-06-20
  • 应用Python开发WebService
    Why 得益于Python领域广泛的功能包,使用Python来开发WebService,实现服务端或客户端,是比较快捷的途径。最近项目上恰巧遇到一个问题,内外系统分别作为客户端与服务端,接口功能已基本确定,但目前双方项目进度不统一...
    99+
    2023-01-31
    Python WebService
  • IDEA 开发配置SparkSQL及简单使用案例代码
    1.添加依赖 在idea项目的pom.xml中添加依赖。 <!--spark sql依赖,注意版本号--> <dependency> <gr...
    99+
    2024-04-02
  • python 开发GUI应用之Dabo
      这几天在研究用python开发GUI应用程序,首先选择了wxpython,英文书籍wxpython in action是不错的,网上也有中文版。   在win7下安装python2.7,wxpython2.8.12.1,来个HelloW...
    99+
    2023-01-31
    python GUI Dabo
  • Python桌面应用开发之PyQt
    文章目录 引言:桌面应用开发三大框架介绍一、PyQT介绍二、安装三、使用教程(1)基础窗口(2)分区布局窗口(类似于html中div的使用)(3)栅格布局窗口(类似于html中的table)(...
    99+
    2023-08-31
    python 开发语言
  • Python应用开发——串口通信
    Python应用开发——串口通信 目录 Python应用开发——串口通信前言1 环境搭建2 硬件准备3 代码编写与测试3.1 简单测一下串口收发3.2 补充细节3.3 完善整个收发流程 ...
    99+
    2023-09-28
    python 串口 嵌入式
  • python怎么开发应用程序
    这篇文章给大家分享的是有关python怎么开发应用程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用...
    99+
    2023-06-14
  • Python使用Dash开发网页应用
    Python Dash开发Web应用的控件基础本文主要是通过Dash的Checklist组件,简单介绍使用Dash开发的Web应用展示效果如下:python dash简单基础Dash应用程序由两部分组成:第一部分是应用程序的布局(Layou...
    99+
    2023-05-14
    Python Dash
  • SparkSQL开窗函数分析使用示例
    目录聚合函数和开窗函数开窗函数聚合开窗函数排序开窗函数开窗函数能在每行的最后一行都显示聚合函数的结果,所以聚合函数可以用作开窗函数 聚合函数和开窗函数 聚合函数是将多行变成一行,如果...
    99+
    2023-01-28
    SparkSQL开窗函数 SparkSQL窗口函数
  • 如何使用 Python 开发文件响应应用程序?
    Python 是一种高级编程语言,具有简单易学、代码清晰、可读性强等特点,被广泛应用于各种领域的开发。本文将介绍如何使用 Python 开发文件响应应用程序,以及如何在 Python 中实现文件读写、复制、移动等操作。 Python 中的文...
    99+
    2023-09-03
    响应 文件 开发技术
  • Python 中如何使用 Spring 开发 Web 应用?
    Python 是一种高级编程语言,而 Spring 是一种常用的 Java 框架,两者的结合可以实现高效、可靠的 Web 应用程序开发。本文将介绍如何在 Python 中使用 Spring 框架开发 Web 应用程序,包括以下方面: Sp...
    99+
    2023-11-11
    spring linux api
  • 使用Docker开发python Web应用的案例
    小编给大家分享一下使用Docker开发python Web应用的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文中,我将尝试展示用Docker开发pytho...
    99+
    2023-06-07
  • Python开发建议:学习并应用最佳的开发实践
    Python是一种简单易学的编程语言,但要成为一名优秀的Python开发人员,除了掌握语法和基本知识外,还需要学习并应用最佳的开发实践。在本文中,我们将探讨一些Python开发的最佳实践,以帮助开发人员写出高质量、可维护和高效的Python...
    99+
    2023-11-22
    Python 应用 开发实践
  • Python应用开发——爬取网页图片
    Python应用开发——爬取网页图片 目录 Python应用开发——爬取网页图片前言1 爬取原理讲解1.1 查看网页源代码1.2 分析网页源码并制定对应的爬取方案1.3 完善爬取流程和细节 ...
    99+
    2023-09-10
    python 爬虫 网页图片
  • 钉钉应用开发
    首先,让我们来看看钉钉的优势之一:灵活性。钉钉的平台化设计使得用户可以根据自己的需求和实际情况来选择适合自己的应用,从而提高了应用的灵活性和可定制性。同时,钉钉也支持多种企业级通讯工具,例如飞书、企业微信等,这些工具可以与钉钉无缝衔接,为企...
    99+
    2023-10-28
  • 基于Python+Pyqt5开发一个应用程序
    介绍你的那个她/他 1. UI —MainWindow设计界面及代码 # -*- coding: utf-8 -*- # Form implementation genera...
    99+
    2024-04-02
  • 如何使用Python进行桌面应用开发?
    Python提供了多个库和框架来进行桌面应用开发。以下是使用Python进行桌面应用开发的常用方法之一: PyQt:PyQt是一个用于开发跨平台桌面应用的Python库,它提供了丰富的GUI组件和工具。以下是使用PyQt创建桌面应用的基本...
    99+
    2023-09-08
    python 开发语言
  • 如何使用NetBeans IDE开发Python应用程序
    这篇文章将为大家详细讲解有关如何使用NetBeans IDE开发Python应用程序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。向您介绍在 NetBeans IDE 中使用 Python ...
    99+
    2023-06-17
  • Python应用开发之实现串口通信
    目录前言1.环境搭建2.硬件准备3.代码编写与测试3.1 简单测一下串口收发3.2 补充细节3.3 完善整个收发流程前言 在嵌入式开发中我们经常会用到串口,串口通信简单,使用起来方便...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作