欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spark: RDD與DataFrame之間的相互轉(zhuǎn)換方法

 更新時間:2018年06月07日 08:51:39   作者:birdlove1987  
今天小編就為大家分享一篇spark: RDD與DataFrame之間的相互轉(zhuǎn)換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

DataFrame是一個組織成命名列的數(shù)據(jù)集。它在概念上等同于關(guān)系數(shù)據(jù)庫中的表或R/Python中的數(shù)據(jù)框架,但其經(jīng)過了優(yōu)化。DataFrames可以從各種各樣的源構(gòu)建,例如:結(jié)構(gòu)化數(shù)據(jù)文件,Hive中的表,外部數(shù)據(jù)庫或現(xiàn)有RDD。

DataFrame API 可以被Scala,Java,Python和R調(diào)用。

在Scala和Java中,DataFrame由Rows的數(shù)據(jù)集表示。

在Scala API中,DataFrame只是一個類型別名Dataset[Row]。而在Java API中,用戶需要Dataset<Row>用來表示DataFrame。

在本文檔中,我們經(jīng)常將Scala/Java數(shù)據(jù)集Row稱為DataFrames。

那么DataFrame和spark核心數(shù)據(jù)結(jié)構(gòu)RDD之間怎么進行轉(zhuǎn)換呢?

代碼如下:

# -*- coding: utf-8 -*-
from __future__ import print_function
from pyspark.sql import SparkSession
from pyspark.sql import Row

if __name__ == "__main__":
 # 初始化SparkSession
 spark = SparkSession \
 .builder \
 .appName("RDD_and_DataFrame") \
 .config("spark.some.config.option", "some-value") \
 .getOrCreate()

 sc = spark.sparkContext

 lines = sc.textFile("employee.txt")
 parts = lines.map(lambda l: l.split(","))
 employee = parts.map(lambda p: Row(name=p[0], salary=int(p[1])))

 #RDD轉(zhuǎn)換成DataFrame
 employee_temp = spark.createDataFrame(employee)

 #顯示DataFrame數(shù)據(jù)
 employee_temp.show()

 #創(chuàng)建視圖
 employee_temp.createOrReplaceTempView("employee")
 #過濾數(shù)據(jù)
 employee_result = spark.sql("SELECT name,salary FROM employee WHERE salary >= 14000 AND salary <= 20000")

 # DataFrame轉(zhuǎn)換成RDD
 result = employee_result.rdd.map(lambda p: "name: " + p.name + " salary: " + str(p.salary)).collect()

 #打印RDD數(shù)據(jù)
 for n in result:
 print(n)

以上這篇spark: RDD與DataFrame之間的相互轉(zhuǎn)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux中Python 環(huán)境軟件包安裝步驟

    Linux中Python 環(huán)境軟件包安裝步驟

    本文給大家分享的是在Linux系統(tǒng)中Python環(huán)境的安裝步驟,以及常用的軟件的安裝升級,非常的實用,有需要的小伙伴可以參考下
    2016-03-03
  • Pytest測試報告工具Allure用法介紹

    Pytest測試報告工具Allure用法介紹

    這篇文章介紹了Pytest測試報告工具Allure的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python中pip無法正確安裝或路徑出錯的解決方案

    python中pip無法正確安裝或路徑出錯的解決方案

    這篇文章主要介紹了python中pip無法正確安裝或路徑出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Flask入門教程實例:搭建一個靜態(tài)博客

    Flask入門教程實例:搭建一個靜態(tài)博客

    這篇文章主要介紹了Flask入門教程實例:搭建一個靜態(tài)博客,本文主要介紹flask框架的環(huán)境配置以及一個靜態(tài)博客胡搭建實例,需要的朋友可以參考下
    2015-03-03
  • 基于python生成詞云圖的代碼示例

    基于python生成詞云圖的代碼示例

    這篇文章主要個介紹了如何基于python生成詞云圖的代碼示例,文中有詳細的代碼示例喝圖文講解,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • 為什么說Python可以實現(xiàn)所有的算法

    為什么說Python可以實現(xiàn)所有的算法

    在本篇文章里小編給各位整理的是關(guān)于一個Python就可以實現(xiàn)所有的算法的相關(guān)文章,需要的朋友們參考下。
    2019-10-10
  • Python如何根據(jù)時間序列數(shù)據(jù)作圖

    Python如何根據(jù)時間序列數(shù)據(jù)作圖

    這篇文章主要介紹了Python如何根據(jù)時間序列數(shù)據(jù)作圖,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 一個簡單的python爬蟲程序 爬取豆瓣熱度Top100以內(nèi)的電影信息

    一個簡單的python爬蟲程序 爬取豆瓣熱度Top100以內(nèi)的電影信息

    這篇文章主要為大家詳細介紹了一個簡單的python爬蟲程序,爬取豆瓣熱度Top100以內(nèi)的電影信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python新版極驗驗證碼識別驗證碼教程詳解

    Python新版極驗驗證碼識別驗證碼教程詳解

    這篇文章主要介紹了Python新版極驗驗證碼識別驗證碼,極驗驗證是一種在計算機領(lǐng)域用于區(qū)分自然人和機器人的,通過簡單集成的方式,為開發(fā)者提供安全、便捷的云端驗證服務(wù)
    2023-02-02
  • Python矩陣常見運算操作實例總結(jié)

    Python矩陣常見運算操作實例總結(jié)

    這篇文章主要介紹了Python矩陣常見運算操作,結(jié)合實例形式總結(jié)分析了Python矩陣的創(chuàng)建以及相乘、求逆、轉(zhuǎn)置等相關(guān)操作實現(xiàn)方法,需要的朋友可以參考下
    2017-09-09

最新評論