最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序

 更新時間:2019年06月13日 16:08:23   作者:-趕鴨子上架-  
這篇文章主要介紹了PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一, PyCharm搭建Spark開發(fā)環(huán)境

Windows7, Java1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop2.7.6

通常情況下,Spark開發(fā)是基于Linux集群的,但這里作為初學(xué)者并且囊中羞澀,還是在windows環(huán)境下先學(xué)習(xí)吧。

參照這個配置本地的Spark環(huán)境。

之后就是配置PyCharm用來開發(fā)Spark。本人在這里浪費了不少時間,因為百度出來的無非就以下兩種方式:

1.在程序中設(shè)置環(huán)境變量

import os
import sys

os.environ['SPARK_HOME'] = 'C:\xxx\spark-2.2.1-bin-hadoop2.7'
sys.path.append('C:\xxx\spark-2.2.1-bin-hadoop2.7\python')

2.在Edit Configuration中添加環(huán)境變量

不過還是沒有解決程序中代碼自動補全。

想了半天,觀察到spark提供的pyspark很像單獨的安裝包,應(yīng)該可以考慮將pyspark包放到python的安裝目錄下,這樣也就自動添加到之前所設(shè)置的pythonpath里了,應(yīng)該就能實現(xiàn)pyspark的代碼補全提示。

將spark下的pyspark包放到python路徑下(注意,不是spark下的python!)

最后,實現(xiàn)了pyspark代碼補全功能。

二.第一個pyspark程序

作為小白,只能先簡單用下python+pyspark了。

數(shù)據(jù):Air Quality in Madrid (2001-2018)

需求:根據(jù)歷史數(shù)據(jù)統(tǒng)計出每個月平均指標值

import os
import re
from pyspark.sql import SparkSession

if __name__ == "__main__":

 spark = SparkSession.builder.getOrCreate()
 df_array = []
 years = []
 air_quality_data_folder = "C:/xxx/spark/air-quality-madrid/csvs_per_year"
 for file in os.listdir(air_quality_data_folder):
  if '2018' not in file:
   year = re.findall("\d{4}", file)
   years.append(year[0])
   file_path = os.path.join(air_quality_data_folder, file)
   df = spark.read.csv(file_path, header="true")
   # print(df.columns)
   df1 = df.withColumn('yyyymm', df['date'].substr(0, 7))
   df_final = df1.filter(df1['yyyymm'].substr(0, 4) == year[0]).groupBy(df1['yyyymm']).agg({'PM10': 'avg'})
   df_array.append(df_final)

 pm10_months = [0] * 12
 # print(range(12))
 for df in df_array:
  for i in range(12):
   rows = df.filter(df['yyyymm'].contains('-'+str(i+1).zfill(2))).first()
   # print(rows[1])
   pm10_months[i] += (rows[1]/12)

 years.sort()
 print(years[0] + ' - ' + years[len(years)-1] + '年,每月平均PM10統(tǒng)計')
 m_index = 1
 for data in pm10_months:
  print(str(m_index).zfill(2) + '月份: ' + '||' * round(data))
  m_index += 1

運行結(jié)果:

- 2017年,每月平均PM10統(tǒng)計
01月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
02月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
03月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
04月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
05月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
06月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
07月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
08月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
09月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12月份: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

由以上統(tǒng)計結(jié)果,可以看出4月份的PM10最低。

Done!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python?chinesecalendar報錯:"no?available?data?for?year?{},?only?year?between?[{},?{}]?supported"

    python?chinesecalendar報錯:"no?available?data?for?ye

    這篇文章主要介紹了python?chinesecalendar報錯:“no?available?data?for?year?{},?only?year?between?[{},?{}]?supported“的相關(guān)知識,需要的朋友可以參考下
    2023-03-03
  • Django自定義列表 models字段顯示方式

    Django自定義列表 models字段顯示方式

    這篇文章主要介紹了Django自定義列表 models字段顯示方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python設(shè)計模式之簡單工廠模式實例詳解

    Python設(shè)計模式之簡單工廠模式實例詳解

    這篇文章主要介紹了Python設(shè)計模式之簡單工廠模式,結(jié)合實例形式分析了簡單工廠模式的概念、原理及相關(guān)使用技巧,需要的朋友可以參考下
    2019-01-01
  • 提升?Python?代碼運行速度的6個技巧

    提升?Python?代碼運行速度的6個技巧

    本文分享了提升?Python?代碼運行速度的6個技巧,Python?比我們想象的運行的要快。我們之所以有先入為主的認為Python運行慢,可能是我們平常的誤用和缺乏使用技巧知識。接下來讓我們看看如何用一些簡單的Trick來提高我們程序的運行性能,需要的朋友可以參考一下
    2022-01-01
  • python處理csv數(shù)據(jù)的方法

    python處理csv數(shù)據(jù)的方法

    這篇文章主要介紹了python處理csv數(shù)據(jù)的方法,實例分析了Python處理csv數(shù)據(jù)的技巧,需要的朋友可以參考下
    2015-03-03
  • Django 反向生成url實例詳解

    Django 反向生成url實例詳解

    這篇文章主要介紹了Django 反向生成url實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • python用reduce和map把字符串轉(zhuǎn)為數(shù)字的方法

    python用reduce和map把字符串轉(zhuǎn)為數(shù)字的方法

    最近在復(fù)習(xí)高階函數(shù)的時候,有一道題想了半天解不出來。于是上午搜索資料,看了下別人的解法,發(fā)現(xiàn)學(xué)習(xí)編程,思維真的很重要。下面這篇文章就來給大家介紹了python利用reduce和map把字符串轉(zhuǎn)為數(shù)字的思路及方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作指南

    關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作指南

    對于開發(fā)一個游戲來說,窗口的顯示肯定是前提中的前提,對于pygame來說,只需要一小段代碼就可以初始化窗口,下面這篇文章主要給大家介紹了關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python3監(jiān)控疫情的完整代碼

    Python3監(jiān)控疫情的完整代碼

    這篇文章主要介紹了Python3監(jiān)控疫情的完整代碼,代碼簡單易懂,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Python基于YOLOv8和OpenCV實現(xiàn)車道線和車輛檢測功能

    Python基于YOLOv8和OpenCV實現(xiàn)車道線和車輛檢測功能

    使用YOLOv8(You Only Look Once)和OpenCV實現(xiàn)車道線和車輛檢測,目標是創(chuàng)建一個可以檢測道路上的車道并識別車輛的系統(tǒng),并估計它們與攝像頭的距離,這篇文章主要介紹了Python基于YOLOv8和OpenCV實現(xiàn)車道線和車輛檢測,需要的朋友可以參考下
    2025-01-01

最新評論

锡林郭勒盟| 临夏县| 寿光市| 洮南市| 泸定县| 阳原县| 南和县| 建德市| 穆棱市| 荆州市| 长宁县| 巍山| 吴桥县| 湘潭市| 颍上县| 含山县| 依安县| 封丘县| 内江市| 师宗县| 平和县| 涿鹿县| 永川市| 富锦市| 麻栗坡县| 渝北区| 台山市| 左云县| 普兰县| 滨海县| 肥东县| 卓尼县| 化州市| 观塘区| 桓台县| 柳江县| 承德市| 西平县| 铜川市| 岳普湖县| 扶沟县|