国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】PySpark 數(shù)據(jù)計算 ② ( RDD#flatMap 方法 | RDD#flatMap 語法 | 代碼示例 )

這篇具有很好參考價值的文章主要介紹了【Python】PySpark 數(shù)據(jù)計算 ② ( RDD#flatMap 方法 | RDD#flatMap 語法 | 代碼示例 )。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。





一、RDD#flatMap 方法




1、RDD#flatMap 方法引入


RDD#map 方法 可以 將 RDD 中的數(shù)據(jù)元素 逐個進行處理 , 處理的邏輯 需要用外部 通過 參數(shù)傳入 map 函數(shù) ;

RDD#flatMap 方法在 RDD#map 方法 的基礎(chǔ)上 , 增加了 " 解除嵌套 " 的作用 ;

RDD#flatMap 方法 也是 接收一個 函數(shù) 作為參數(shù) , 該函數(shù)被應(yīng)用于 RDD 中的每個元素及元素嵌套的子元素 , 并返回一個 新的 RDD 對象 ;


2、解除嵌套


解除嵌套 含義 : 下面的的 列表 中 , 每個元素 都是一個列表 ;

lst = [[1, 2], [3, 4, 5], [6, 7, 8]]

如果將上述 列表 解除嵌套 , 則新的 列表 如下 :

lst = [1, 2, 3, 4, 5, 6, 7, 8]

RDD#flatMap 方法 先對 RDD 中的 每個元素 進行處理 , 然后再 將 計算結(jié)果展平放到一個新的 RDD 對象中 , 也就是 解除嵌套 ;

這樣 原始 RDD 對象 中的 每個元素 , 都對應(yīng) 新 RDD 對象中的若干元素 ;


3、RDD#flatMap 語法說明


RDD#flatMap 語法說明 :

newRDD = oldRDD.flatMap(lambda x: [element1, element2, ...])

舊的 RDD 對象 oldRDD 中 , 每個元素應(yīng)用一個 lambda 函數(shù) , 該函數(shù)返回多個元素 , 返回的多個元素就會被展平放入新的 RDD 對象 newRDD 中 ;


代碼示例 :

# 將 字符串列表 轉(zhuǎn)為 RDD 對象
rdd = sparkContext.parallelize(["Tom 18", "Jerry 12", "Jack 21"])

# 應(yīng)用 map 操作,將每個元素 按照空格 拆分
rdd2 = rdd.flatMap(lambda element: element.split(" "))




二、代碼示例 - RDD#flatMap 方法



代碼示例 :

"""
PySpark 數(shù)據(jù)處理
"""

# 導(dǎo)入 PySpark 相關(guān)包
from pyspark import SparkConf, SparkContext
# 為 PySpark 配置 Python 解釋器
import os
os.environ['PYSPARK_PYTHON'] = "Y:/002_WorkSpace/PycharmProjects/pythonProject/venv/Scripts/python.exe"

# 創(chuàng)建 SparkConf 實例對象 , 該對象用于配置 Spark 任務(wù)
# setMaster("local[*]") 表示在單機模式下 本機運行
# setAppName("hello_spark") 是給 Spark 程序起一個名字
sparkConf = SparkConf() \
    .setMaster("local[*]") \
    .setAppName("hello_spark")

# 創(chuàng)建 PySpark 執(zhí)行環(huán)境 入口對象
sparkContext = SparkContext(conf=sparkConf)

# 打印 PySpark 版本號
print("PySpark 版本號 : ", sparkContext.version)

# 將 字符串列表 轉(zhuǎn)為 RDD 對象
rdd = sparkContext.parallelize(["Tom 18", "Jerry 12", "Jack 21"])

# 應(yīng)用 map 操作,將每個元素 按照空格 拆分
rdd2 = rdd.flatMap(lambda element: element.split(" "))

# 打印新的 RDD 中的內(nèi)容
print(rdd2.collect())

# 停止 PySpark 程序
sparkContext.stop()

執(zhí)行結(jié)果 :

Y:\002_WorkSpace\PycharmProjects\pythonProject\venv\Scripts\python.exe Y:/002_WorkSpace/PycharmProjects/HelloPython/hello.py
23/07/31 23:02:58 WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
23/07/31 23:02:59 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
PySpark 版本號 :  3.4.1
['Tom', '18', 'Jerry', '12', 'Jack', '21']

Process finished with exit code 0

【Python】PySpark 數(shù)據(jù)計算 ② ( RDD#flatMap 方法 | RDD#flatMap 語法 | 代碼示例 ),Python,python,原力計劃文章來源地址http://www.zghlxwxcb.cn/news/detail-629912.html

到了這里,關(guān)于【Python】PySpark 數(shù)據(jù)計算 ② ( RDD#flatMap 方法 | RDD#flatMap 語法 | 代碼示例 )的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python大數(shù)據(jù)之PySpark(五)RDD詳解

    Python大數(shù)據(jù)之PySpark(五)RDD詳解

    為什么需要RDD? 首先Spark的提出為了解決MR的計算問題,諸如說迭代式計算,比如:機器學(xué)習(xí)或圖計算 希望能夠提出一套基于內(nèi)存的迭代式數(shù)據(jù)結(jié)構(gòu),引入RDD彈性分布式數(shù)據(jù)集,如下圖 為什么RDD是可以容錯? RDD依靠于依賴關(guān)系dependency relationship reduceByKeyRDD-----mapRDD-----flatMapRD

    2024年02月06日
    瀏覽(52)
  • Python大數(shù)據(jù)之PySpark(六)RDD的操作

    Python大數(shù)據(jù)之PySpark(六)RDD的操作

    函數(shù)分類 *Transformation操作只是建立計算關(guān)系,而Action 操作才是實際的執(zhí)行者* 。 Transformation算子 轉(zhuǎn)換算子 操作之間不算的轉(zhuǎn)換,如果想看到結(jié)果通過action算子觸發(fā) Action算子 行動算子 觸發(fā)Job的執(zhí)行,能夠看到結(jié)果信息 Transformation函數(shù) 值類型valueType map flatMap filter mapValue 雙值

    2024年02月04日
    瀏覽(45)
  • 大數(shù)據(jù)之PySpark的RDD介紹

    大數(shù)據(jù)之PySpark的RDD介紹

    之前的文章主要介紹Spark基礎(chǔ)知識,例如集群角色、Spark集群運行流程等,接下來會進一步討論Spark相對核心的知識,讓我們拭目以待,同時也期待各位的精彩留言! RDD稱為彈性分布式數(shù)據(jù)集,是Spark中最基本的數(shù)據(jù)抽象,其為一個不可變、可分區(qū)、元素可并行計算的集合;

    2024年02月03日
    瀏覽(19)
  • PySpark大數(shù)據(jù)教程:深入學(xué)習(xí)SparkCore的RDD持久化和Checkpoint

    PySpark大數(shù)據(jù)教程:深入學(xué)習(xí)SparkCore的RDD持久化和Checkpoint

    本教程詳細介紹了PySpark中SparkCore的RDD持久化和Checkpoint功能,重點講解了緩存和檢查點的作用、如何進行緩存、如何設(shè)置檢查點目錄以及它們之間的區(qū)別。還提供了join操作的示例和Spark算子補充知識。

    2024年02月08日
    瀏覽(58)
  • PySpark基礎(chǔ) —— RDD

    PySpark基礎(chǔ) —— RDD

    1.查看Spark環(huán)境信息 2.創(chuàng)建RDD 創(chuàng)建RDD主要有兩種方式 第一種:textFile方法 第二種:parallelize方法 ?2.1.textFile方法 本地文件系統(tǒng)加載數(shù)據(jù) ?2.2.parallelize方法 ?2.3.wholeTextFiles方法 Action動作算子/行動操作 1.collect 2.take ?3.first 4.top 5.takeOrdered 6.takeSample 7.count 8.sum 9.histogram 10.fold 11.re

    2024年02月07日
    瀏覽(23)
  • Python大數(shù)據(jù)之PySpark(三)使用Python語言開發(fā)Spark程序代碼

    Python大數(shù)據(jù)之PySpark(三)使用Python語言開發(fā)Spark程序代碼

    Spark Standalone的PySpark的搭建----bin/pyspark --master spark://node1:7077 Spark StandaloneHA的搭建—Master的單點故障(node1,node2),zk的leader選舉機制,1-2min還原 【scala版本的交互式界面】bin/spark-shell --master xxx 【python版本交互式界面】bin/pyspark --master xxx 【提交任務(wù)】bin/spark-submit --master xxxx 【學(xué)

    2024年01月17日
    瀏覽(98)
  • PySpark之RDD的持久化

    PySpark之RDD的持久化

    當(dāng)RDD被重復(fù)使用,或者計算該RDD比較容易出錯,而且需要消耗比較多的資源和時間的時候,我們就可以將該RDD緩存起來。 主要作用: 提升Spark程序的計算效率 注意事項: RDD的緩存可以存儲在內(nèi)存或者是磁盤上,甚至可以存儲在Executor進程的堆外內(nèi)存中。主要是放在內(nèi)存中,因此

    2024年01月23日
    瀏覽(18)
  • PySpark RDD的緩存和Checkpoint

    PySpark RDD的緩存和Checkpoint

    RDD之間進行相互迭代計算(Transformation的轉(zhuǎn)換),當(dāng)執(zhí)行開啟后,新RDD的生成,代表老RDD的消息,RDD的數(shù)據(jù)只在處理的過程中存在,一旦處理完成,就不見了,所以RDD的數(shù)據(jù)是過程數(shù)據(jù)。 RDD數(shù)據(jù)是過程數(shù)據(jù)的這個特性可以最大化的利用資源,老舊的RDD沒用了就會從內(nèi)存中清理

    2023年04月09日
    瀏覽(22)
  • PySpark數(shù)據(jù)分析基礎(chǔ):PySpark基礎(chǔ)功能及DataFrame操作基礎(chǔ)語法詳解

    PySpark數(shù)據(jù)分析基礎(chǔ):PySpark基礎(chǔ)功能及DataFrame操作基礎(chǔ)語法詳解

    目錄 前言 一、PySpark基礎(chǔ)功能 ?1.Spark SQL 和DataFrame 2.Pandas API on Spark 3.Streaming 4.MLBase/MLlib 5.Spark Core 二、PySpark依賴 Dependencies 三、DataFrame 1.創(chuàng)建 創(chuàng)建不輸入schema格式的DataFrame 創(chuàng)建帶有schema的DataFrame 從Pandas DataFrame創(chuàng)建 通過由元組列表組成的RDD創(chuàng)建 2.查看 DataFrame.show() spark.sql.

    2024年01月18日
    瀏覽(25)
  • 10-用PySpark建立第一個Spark RDD

    10-用PySpark建立第一個Spark RDD

    PySpark實戰(zhàn)筆記系列第一篇 Apache Spark的核心組件的基礎(chǔ)是RDD。所謂的RDD,即 彈性分布式數(shù)據(jù)集(Resiliennt Distributed Datasets) ,基于RDD可以實現(xiàn)Apache Spark各個組件在多個計算機組成的集群中進行無縫集成,從而能夠在一個應(yīng)用程序中完成海量數(shù)據(jù)處理。 只讀不能修改 :只能通過

    2024年04月08日
    瀏覽(48)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包