资源经验分享【spark】pyspark中数据类型转换pandas_df,rdd,spark_df

【spark】pyspark中数据类型转换pandas_df,rdd,spark_df

2019-11-07 | |  86 |   0

原标题:【spark】pyspark中数据类型转换pandas_df,rdd,spark_df

原文来自:CSDN      原文链接:https://blog.csdn.net/fxflyflyfly/article/details/102911358


pandas_df创建

十分钟搞定pandas

RDD创建

【Spark】3.RDD编程

spark_df创建

一、创建DF或者读入DF

以sql输出的结果创建df,这种形式最常用。

from pyspark.sql import SparkSession
from pyspark.sql import Row
from pyspark.sql.types import *
from pyspark.sql.functions import *
 
df = spark.sql("select * from table_name")

也可以使用toDF()

from pyspark.sql import Row
row = Row("spe_id", "InOther")
x = ['x1','x2']
y = ['y1','y2']
new_df = sc.parallelize([row(x[i], y[i]) for i in range(2)]).toDF()

当然,也可以采用下面的方式创建DF,我们这里造了下面的数据集来说明df的一系列操作。

test = []
test.append((1, 'age', '30', 50, 40))
test.append((1, 'city', 'beijing', 50, 40))
test.append((1, 'gender', 'fale', 50, 40))
test.append((1, 'height', '172cm', 50, 40))
test.append((1, 'weight', '70kg', 50, 40))
df = spark.createDataFrame(test,['user_id', 'attr_name','attr_value', 'income', 'expenses'])

createDataFrame有一个参数,samplingRatio。这个参数的含义是:如果df的某列的类型不确定,则抽样百分之samplingRatio的数据来看是什么类型。因此,我们一般设定其为1。即,只要该列有1个数据不为空,该列的类型就不会为null。

RDD与spark_df

RDD-spark_df

dataframe = spark.createDataFrame(RDD)

spark_df-RDD

RDD = spark_df.rdd.map(lambda x:x)

pandas_df 与 spark_df转换

pandas_pd=saprk_df.toPandas()
spark_df = spark.createDataFrame(pandas_df)

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:python、Tesseract的简易验证码的识别

下一篇:利用神经网络对图像分类(对29种不同云层图像分类-pytorch)

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...