PySpark大數(shù)據(jù)技術(shù)與應用 課件 2.1 搭建單機模式的PySpark開發(fā)環(huán)境_第1頁
PySpark大數(shù)據(jù)技術(shù)與應用 課件 2.1 搭建單機模式的PySpark開發(fā)環(huán)境_第2頁
PySpark大數(shù)據(jù)技術(shù)與應用 課件 2.1 搭建單機模式的PySpark開發(fā)環(huán)境_第3頁
PySpark大數(shù)據(jù)技術(shù)與應用 課件 2.1 搭建單機模式的PySpark開發(fā)環(huán)境_第4頁
PySpark大數(shù)據(jù)技術(shù)與應用 課件 2.1 搭建單機模式的PySpark開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

搭建單機模式的PySpark開發(fā)環(huán)境在Windows操作系統(tǒng)上搭建一個可以運行PySpark程序的開發(fā)環(huán)境,需要準備如下安裝包搭建單機模式的PySpark開發(fā)環(huán)境安裝包版本備注JDKjdk-8u281Java運行環(huán)境,Spark的運行需要JDK的支持AnacondaAnaconda3-2020.11Python的包管理器和環(huán)境管理器Hadoop3.2.2提供HDFS分布式文件系統(tǒng)支持,Hive運行環(huán)境支持Hive3.1.11.22Hive運行環(huán)境,其中3.1.1為運行版本,1.22版本提供在Windows下運行時工具MariaDB10Hive元數(shù)據(jù)管理MySQLConnector8.0.21Hive數(shù)據(jù)庫連接工具包1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7由于Hadoop、Hive和Spark是由Java編寫而成的,運行環(huán)境需要Java支持,所以需要下載安裝Java開發(fā)工具包JDK在Java官方網(wǎng)站下載版本為jdk-8u281的JDK。在Windows系統(tǒng)下安裝JDK可參考安裝中的文字提示完成JDK的安裝。安裝JDK1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7Anaconda是Python的包管理器和環(huán)境管理器,包含了大量的Python科學包及其依賴項。Anaconda可以便捷獲取包且對包進行管理,同時也可以對Python環(huán)境統(tǒng)一管理。Anaconda的安裝可以通過官方網(wǎng)站或鏡像網(wǎng)站下載Windows版本的安裝包進行安裝。安裝Anaconda//打開Anaconda管理器,在“Environments”選項中創(chuàng)建指定版本的Python運行環(huán)境,如左圖。Anaconda默認使用JupyterNotebook作為Python語言的的編輯器,如右圖。安裝Python環(huán)境1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7為了向Spark提供存儲支持,需要安裝Hive,Hive需要Hadoop運行環(huán)境,因此需要在Windows系統(tǒng)上搭建Hadoop單機運行環(huán)境。下載Hadoop安裝包并配置環(huán)境變量修改Hadoop配置文件復制工具文件格式化NameNode啟動Hadoop驗證Hadoop是否安裝成功安裝Hadoop從ApacheHadoop官方網(wǎng)站下載Hadoop安裝包,并將安裝包解壓縮至文件夾中(如“D:\Hadoop”,下文將該文件夾所在路徑稱之為HADOOP_HOME路徑)。1.下載Hadoop安裝包為方便在命令行中執(zhí)行Hadoop命令,需要設置Windows中的環(huán)境變量。以Windows10為例,右鍵單擊“此電腦”圖標,選擇“屬性”選項,在彈出的窗口中選擇“系統(tǒng)屬性”選項,在彈出的對話框中,選擇“高級”選項卡,可看到Windows環(huán)境變量設置入口,單擊“環(huán)境變量(N)…”按鈕進入,如右圖。2.配置環(huán)境變量在環(huán)境變量對話框中,配置Hadoop環(huán)境變量。配置環(huán)境包括:新建HADOOP_HOME環(huán)境變量,指定Hadoop家目錄(即Hadoop安裝包解壓目錄),如左圖。編輯Path變量,指定Hadoop中可執(zhí)行程序的路徑(即Hadoop安裝包解壓目錄的bin目錄,如右圖。2.配置環(huán)境變量完成Hadoop的環(huán)境變量配置后,需要修改Hadoop的配置文件,以便Hadoop可以正常運行。Hadoop主要的配置文件如下。修改Hadoop配置文件文件名文件描述hadoop-env.cmd記錄Hadoop要使用的環(huán)境變量hdfs-site.xmlHDFS守護進程配置文件,包括NameNode,DataNode配置core-site.xmlHadoopCore配置文件,包括HDFS和MapReduce常用的I/O設置mapreduce-site.xmlMapReduce守護進程配置文件yarn-site.xmlYARN資源管理器配置文件在hadoop-env.cmd文件末尾添加Java環(huán)境變量,將JAVA_HOME對應的Java路徑更改為實際的路徑。本文JDK的安裝路徑是“C:\ProgramFiles\Java\jdk1.8.0_281”。修改hadoop-env.cmd文件setJAVA_HOME="C:\ProgramFiles\Java\jdk1.8.0_281"修改hdfs-site.xml文件內(nèi)容,配置如下參數(shù)(配置項中的路徑替換為實際路徑):dfs.replication配置項設置了HDFS中文件副本數(shù)為1;.dir配置項設置了HDFS中NameNode的元數(shù)據(jù)存儲的本地文件路徑;dfs.datanode.data.dir配置項設置了DataNode存儲數(shù)據(jù)的本地文件路徑。修改hdfs-site.xml文件<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>.dir</name>

<value>D:/hadoop-3.2.2/data/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>D:/hadoop-3.2.2/data/datanode</value>

</property>

</configuration>修改core-site.xml文件內(nèi)容,設置HDFS服務主機名和端口。fs.defaultFS配置項配置HDFS服務的主機名和端口號,主機名localhost即為本機。修改core-site.xml文件<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>修改mapreduce-site.xml文件內(nèi)容,配置MapReduce執(zhí)行框架為YARN配置項配置MapReduce執(zhí)行框架為YARN。修改mapreduce-site.xml文件<configuration>

<property>

<name></name>

<value>yarn</value>

</property>

</configuration>修改yarn-site.xml文件內(nèi)容,配置NodeManager上運行的服務和配置mapreduce_shuffle的實現(xiàn)類yarn.nodemanager.aux-services配置項需將NodeManager上運行的附屬服務配置成mapreduce_shuffle,后續(xù)才可以運行MapReduce程序;yarn.nodemanager.aux-services.mapreduce.shuffle.class配置項配置mapreduce_shuffle的實現(xiàn)類,即org.apache.hadoop.mapred.ShuffleHandler。修改yarn-site.xml文件<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property></configuration>在hdfs-site.xml文件中,配置了NameNode和DataNode的數(shù)據(jù)存儲的本地文件路徑,需要按照對應路徑創(chuàng)建文件夾。.dir配置的路徑為“D:/hadoop-3.2.2/data/namenode”,因此需要在“D:/hadoop-3.2.2/data”路徑下創(chuàng)建文件夾namenode。按照相同方法在dfs.datanode.data.dir指定的路徑下創(chuàng)建datanode文件夾。配置文件存儲路徑在Windows中運行Hadoop,需要下載兩個額外的工具文件winutils.exe和hadoop.dll(需要和Hadoop安裝包的版本保持一致),并將這兩個文件復制至“C:\windows\System32”路徑中。3.復制工具文件在第一次啟動Hadoop前,必須先將HDFS格式化,打開cmd命令提示符,執(zhí)行命令格式化HDFS。4.格式化NameNodehdfsnamenode-format格式化HDFS后,便可以啟動Hadoop。在Hadoop家目錄的sbin目錄中執(zhí)行start-all.cmd腳本文件,如左圖。執(zhí)行命令啟動Hadoop后,將彈出4個窗口,分別是ApacheHadoopDistribution-hadoopnamenode、ApacheHadoopDistribution-hadoopdatenode、ApacheHadoopDistribution-yarnresourcemanager、ApacheHadoopDistribution-yarnnodemanager,Hadoop啟動后打開的窗口,如右圖。5.啟動Hadoop打開瀏覽器,在地址欄輸入“http://localhost:9870”網(wǎng)址,該頁面為Hadoop的WebUI界面,如下圖,正常顯示該頁面內(nèi)容即表示Hadoop配置正確且正常運行。6.驗證Hadoop是否安裝成功1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7數(shù)據(jù)倉庫Hive在運行時,需要數(shù)據(jù)庫系統(tǒng)為Hive提供元數(shù)據(jù)存儲服務,需要安裝數(shù)據(jù)庫管理系統(tǒng)。在Windows系統(tǒng)下安裝MySQL可參考安裝中的文字提示完成MySQL數(shù)據(jù)庫的安裝,其中設置用戶名為root,密碼為123456。安裝完成后,在Windows開始菜單中,依次選擇“MySQL”→“MySQL8.0CommnadLineClient”。在啟動的窗口中,輸入root用戶的密碼(本書設置為“123456”)即可登錄MySQL客戶端。安裝MySQL1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表,并提供類SQL查詢功能,可為PySpark提供數(shù)據(jù)存儲服務。安裝Hive并配置環(huán)境變量配置MySQL驅(qū)動在HDFS文件系統(tǒng)中創(chuàng)建目錄創(chuàng)建data目錄及其子目錄修改hive-site.xml文件修改hive-env.sh復制Hive運行文件初始化Hive元數(shù)據(jù)啟動Hive安裝Hive下載Hive安裝包,并將Hive的安裝包解壓至本地文件路徑中(如“D:\hive-3.1.1”,下文將其稱為HIVE_HOME路徑)。配置環(huán)境包括:新建HIVE_HOME環(huán)境變量,指定Hive家目錄(即Hive安裝包解壓目錄),如左圖。編輯Path環(huán)境變量,指定Hive中可執(zhí)行程序的路徑(即Hive安裝包解壓目錄的bin目錄),如右圖。1.安裝Hive并配置環(huán)境變量Hive需要將元數(shù)據(jù)存儲至數(shù)據(jù)庫中,本文使用MySQL作為Hive元數(shù)據(jù)存儲數(shù)據(jù)庫。Hive需要訪問MySQL數(shù)據(jù)庫,則需要為Hive提供MySQL的JDBC驅(qū)動JAR包(mysql-connector-java-8.0.21.jar),將該JAR包復制至HIVE_HOME\lib目錄下,否則Hive不能成功連接MySQL數(shù)據(jù)庫。2.配置MySQL驅(qū)動Hive將表中的數(shù)據(jù)是以文件形式存儲在HDFS文件系統(tǒng)中的,因此需要在HDFS中為Hive創(chuàng)建存儲目錄。打開cmd命令提示符,進入命令執(zhí)行界面。在HDFS文件系統(tǒng)中創(chuàng)建tmp目錄,user目錄及其子目錄,并設置組可寫權(quán)限(在HDFS文件系統(tǒng)中創(chuàng)建目錄前需要先啟動Hadoop)。3.在HDFS文件系統(tǒng)中創(chuàng)建目錄hadoopfs-mkdir/tmphadoopfs-chmodg+w/tmphadoopfs-mkdir-p/user/hivehadoopfs-mkdir/user/hive/warehousehadoopfs-chmodg+w/user/hive/warehouse在HIVE_HOME對應的路徑中,創(chuàng)建本地data目錄。在data目錄創(chuàng)建operation_logs、querylog、resources、scratch子目錄用于存儲Hive本地日志內(nèi)容,下圖。4.創(chuàng)建data目錄及其子目錄復制HIVE_HOME目錄的conf目錄下的hive-default.xml.template文件并重命名為hive-site.xml,并修改文件內(nèi)容(注意將配置文件中的路徑替換成實際路徑)。該文件休要修改的內(nèi)容比較多。5.修改hive-site.xml文件<property>

<name>hive.exec.local.scratchdir</name>

<value>D:/hive-3.1.1/data/scratch</value>

<description>LocalscratchspaceforHivejobs</description>

</property>

<!--resources本地目錄-->

<property>

<name>hive.downloaded.resources.dir</name>

<value>D:/hive-3.1.1/data/resources</value>

<description>…略…</description>

</property>

<!--querylog本地目錄-->

<property>

<name>hive.querylog.location</name>

<value>D:/hive-3.1.1/data/querylog</value>

<description>LocationofHiveruntimestructuredlogfile</description>

</property>

<!--operation_logs本地目錄-->

<property>

<name>hive.server2.logging.operation.log.location</name>

<value>D:/hive-3.1.1/data/operation_logs</value>

<description>…略…</description>

</property>5.修改hive-site.xml文件-2<!--數(shù)據(jù)庫連接地址配置-->

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql:/localhost:3306/hive?createDatabaseIfNotExist=true&serverTimezone=GMT&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false</value></property>

<!--數(shù)據(jù)庫驅(qū)動配置-->

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.cj.jdbc.Driver</value><description>DriverclassnameforaJDBCmetastore</description>

</property>

<!--數(shù)據(jù)庫用戶名-->

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

<description>Usernametouseagainstmetastoredatabase</description>

</property>

<!--數(shù)據(jù)庫訪問密碼--><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value><description>passwordtouseagainstmetastoredatabase</description></property>

5.修改hive-site.xml文件-3<!--解決Causedby:MetaException(message:Versioninformationnotfoundinmetastore.)-->

<property>

<name>hive.metastore.schema.verification</name><value>false</value>

<description>省略...

</description>

</property>

<!--自動創(chuàng)建全部-->

<property>

<name>datanucleus.schema.autoCreateAll</name>

<value>true</value>

<description>省略...</description>

</property>復制HIVE_HOME目錄的conf目錄下的hive-env.sh.template文件并重命名為hive-env.sh,修改文件內(nèi)容,配置Hive所需要的環(huán)境變量信息6.修改hive-env.shHADOOP_HOME=D:\hadoop-3.2.2exportHIVE_CONF_DIR=D:\hive-3.1.1\confexportHIVE_AUX_JARS_PATH=D:\hive-3.1.1\libHive1.2以后版本不再提供Windows下的命令行工具,無法通過命令行工具訪問Hive數(shù)據(jù)倉庫該工具可以在hive.1.2.2-src源碼包(在清華開源軟件鏡像站點進行下載)中找到,復制hive.1.2.2-src安裝包中的bin目錄至Hive的家目錄中,覆蓋Hive家目錄原有的bin目錄。7.復制Hive運行文件Hive將元數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中,運行Hive前,需要初始化Hive元數(shù)據(jù)庫,創(chuàng)建存儲Hive元數(shù)據(jù)的數(shù)據(jù)表。打開cmd命令提示符,輸入“cdd:\hive-3.1.1\bin”命令,切換工作目錄至“d:\hive-3.1.1\bin”,輸入“hive--serviceschematool-dbTypemysql-initSchema”命令初始化Hive元數(shù)據(jù)庫,執(zhí)行成功后顯示“InitializationscriptcompletedschemaToolcompleted”信息。8.初始化Hive元數(shù)據(jù)打開cmd命令提示符,切換工作目錄至“d:\hive-3.1.1\bin”執(zhí)行bin目錄中的Hive.cmd文件,執(zhí)行成功后,會出現(xiàn)“hive>”提示符,表示Hive運行成功,如下圖。9.啟動Hive1安裝Anaconda目錄安裝JDK2安裝Hadoop3安裝MySQL4安裝Hive5配置Pyspark模塊6運行JupyterNotebook7打開An

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論