2017-02-08 46 views

回答

0

安裝

首先,在註冊AWS帳號並創建版本的Ubuntu 14.04 。的EC2實例(Ubuntu的16將無法正常工作)。添加自定義的TCP規則以在安全組上打開端口0-65535。

您不需要自己安裝任何jdk或其他依賴項。

二,請點擊此鏈接到你安裝HDP EC2實例 http://docs.hortonworks.com/HDPDocuments/Ambari-2.1.2.0/bk_Installing_HDP_AMB/content/_download_the_ambari_repo_ubuntu14.html 請注意,您需要在您的實例

sudo apt get install ntp 

安裝NTP,不要忘記改變ubuntu設置服務器時。

三,下載數據文件並將其複製到hdfs。我用

sudo wget https://www.dropbox.com/s/cz25tno9pi817ft/large_data4word_counting?dl=0# 
## extract the file and rename it to be large_data 
sudo -u hdfs -copyFromLocal /large_data/

你可以使用sudo -u HDFS或chmod來給你上的目錄當局

運行MapReduce的字數工作

圍棋到文件夾/usr/hdp/current/hadoop-mapreduce-client

sudo -u hdfs hadoop jar hadoop-mapreduce-examples.jar wordcount /large_data /result 

然後,你可以找到在結果文件夾字數作業結果。

sudo -u hdfs hadoop dfs -copyToLocal /result /result 

運行星火字數工作

編寫Python程序

import sys 
from operator import add 
from pyspark import SparkContext,SparkConf 
if __name__ == "__main__": 
    conf = SparkConf().setAppName("Spark Count") 
    sc = SparkContext(conf=conf) 
    text_file = sc.textFile("/large_data") 
    counts = text_file.flatMap(lambda x: x.split(' ')) \ 
        .map(lambda x: (x, 1)) \ 
        .reduceByKey(add) 
    counts.saveAsTextFile("/output") 

運行作業

export HADOOP_CONF_DIR=/etc/hadoop/conf/ 
sudo -u hdfs /usr/hdp/current/spark-client/bin/spark-submit --master yarn \ 
wordcount.py 
相關問題