發表文章

PySpark_命令與RDD使用(Transformation及Action)及Spark DataFrame使用筆記

圖片
  Parallel Programming using Resilient Distributed Datasets 彈性分散式數據集,也稱為RDD,是Spark的主要數據抽象。 彈性分散式數據集是一個容錯元素的集合,分布在集群的節點上,能夠接受並行操作。 彈性分散式數據集是不可變的,這意味著一旦創建,這些數據集就無法改變。  每個Spark應用程式都包含一個驅動程序,該程序執行用戶的主要功能並在集群上執行多個並行操作。  RDD支援文本、序列文件、Avro、Parquet和Hadoop輸入格式文件類型。  RDD還支持本地、Cassandra、HBase、HDFS、Amazon S3等文件格式,以及大量的關係型和NoSQL數據庫。  可以使用來自Hadoop支持的文件系統(如HDFS、Cassandra、HBase或Amazon S3)的外部或本地文件創建RDD。 將parallelize函數應用於驅動程序中的現有集合。 Spark為集群的每個分區運行一個任務。 通常,希望每個CPU在集群中有兩到四個分區。 在操作過程中將數據集持久化或緩存到內存中。 緩存是容錯的,並且始終可以恢復,因為RDD是不變的。 當持久化一個RDD時,每個節點將節點計算的分區存儲在內存中 並在該數據集或從第一個RDD派生的後續數據集上的其他操作中重用相同的分區。  RDD Supported File Types Text SequenceFiles Avro Parquet Hadoop input formats RDD Supported File formats Local Cassandra HBase HDFS Amazon S3 或其他 which pyspark 可確認是否有安裝pyspark,並且系統環境變數路徑有配置,可識別到。 可透過pyspark指令先打印當前版本跟進入到命令模式 上傳測試用data.txt到hdfs hdfs dfs -put data.txt hdfs dfs -ls /user/cloudera/data.txt 去察看幫助文檔 pyspark --help sc 進到core spark入口 dir(sir) 查看sc能用的所有方法字典 help(sc) 則可更詳盡去查閱每個方法用的...

HDFS指令和cloudera manager網頁管理介面筆記(二)_MapReduce莎士比亞txt檔案分析實作

圖片
  從起初尚未上傳莎士比亞 txt檔案 執行HDFS指令上傳莎士比亞 txt檔案 hdfs dfs -put /home/cloudera/shakespeare.txt 如果不指定hdfs端目錄,則使用家目錄 shakespeare.txt 此檔案約為5.18MB 顯示/user/cloudera/shakespeare.txt由那些hdfs區塊組成 檢查shakespeare.txt的區塊個數 用指令 hdfs fsck -blocks -files /user/cloudera/shakespeare.txt hdfs fsck /user/cloudera/shakespeare.txt -files -blocks 使用Cloudera Manager -> HDFS -> NameNode WebUI WordCout範例 (運行前要確保要被計數的檔案必須存在於HDFS,輸出目錄不能事先存在於HDFS。) ls -l /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar hdfs dfs -ls /user/cloudera/wordcount_output/ 來源檔案(位在HDFS,必須已經存在) wordcount的輸出目錄(位在HDFS,但不能已經存在) wordcount_output此檔案位於執行yarn所在機器,不需要事先上傳到HDFS,運行時由resource manager將程式碼傳送到所有執行此操作的Yarn Container中 yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /user/cloudera/shakespeare.txt /u...