91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PyCharm搭建Spark開發環境實現第一個pyspark程序

發布時間:2020-09-12 07:22:04 來源:腳本之家 閱讀:465 作者:-趕鴨子上架- 欄目:開發技術

一, PyCharm搭建Spark開發環境

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

通常情況下,Spark開發是基于Linux集群的,但這里作為初學者并且囊中羞澀,還是在windows環境下先學習吧。

參照這個配置本地的Spark環境。

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

1.在程序中設置環境變量

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中添加環境變量

PyCharm搭建Spark開發環境實現第一個pyspark程序

PyCharm搭建Spark開發環境實現第一個pyspark程序

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

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

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

PyCharm搭建Spark開發環境實現第一個pyspark程序

PyCharm搭建Spark開發環境實現第一個pyspark程序

最后,實現了pyspark代碼補全功能。

PyCharm搭建Spark開發環境實現第一個pyspark程序

二.第一個pyspark程序

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

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

需求:根據歷史數據統計出每個月平均指標值

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統計')
 m_index = 1
 for data in pm10_months:
  print(str(m_index).zfill(2) + '月份: ' + '||' * round(data))
  m_index += 1

運行結果:

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

由以上統計結果,可以看出4月份的PM10最低。

Done!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安达市| 潍坊市| 比如县| 黄平县| 定安县| 景宁| 刚察县| 高州市| 依兰县| 高台县| 瑞金市| 历史| 拜泉县| 原阳县| 平陆县| 宁化县| 乳源| 通道| 广饶县| 永靖县| 凤山市| 镇巴县| 三穗县| 罗江县| 台山市| 万年县| 阜宁县| 大丰市| 黄石市| 英德市| 郯城县| 阿鲁科尔沁旗| 西平县| 闽清县| 黑河市| 永德县| 丹阳市| 黄陵县| 黄浦区| 鸡泽县| 宜丰县|