网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

pyspark创建空的DataFrame-创新互联

目录
  • 前言
  • 正文
    • 创建没有schema的DataFrame
    • 创建有schema的DataFrame
      • 直接创建空的DataFrame
        • 法1:直接传递 [ ]
      • 通过空RDD创建空DataFrame
        • 法2:通过spark.createDataFrame(rdd)函数
        • 法3:通过rdd.toDF函数
  • 总结

广州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!前言

做大数据分析时,经常会使用到空的DataFrame,直接给spark.createDataFrame传递空的Pandas DataFrame会报错:

spark.createDataFrame(data=pd.DataFrame(data=None,columns=['pageid','uid']))
# 报错:
ValueError: can not infer schema from empty dataset

因此总结了几种可以成功创建空的spark DataFrame的方法。

参考:None

正文 创建没有schema的DataFrame
df_empty = spark.createDataFrame([], StructType([]))
df_empty.printSchema()
"""
输出:
root
"""
创建有schema的DataFrame

创建schema:

from pyspark.sql.types import StructType,StructField, StringType
schema = StructType([
  StructField('pageid', StringType(), True),
  StructField('uid', StringType(), True)
  ])

# 查看schema  
print(schema.simpleString())
"""
输出:
struct"""
直接创建空的DataFrame 法1:直接传递 [ ]
df_empty1 = spark.createDataFrame([], schema)
df_empty1.printSchema()
"""
输出:
root
 |-- pageid: string (nullable = true)
 |-- uid: string (nullable = true)

"""
通过空RDD创建空DataFrame

可以通过两种方式创建空的rdd:

rdd1 = spark.sparkContext.emptyRDD()
rdd2 = spark.sparkContext.parallelize([])
法2:通过spark.createDataFrame(rdd)函数
df_empty2 = spark.createDataFrame(rdd1,schema)
df_empty2.printSchema()
"""
输出:
root
 |-- pageid: string (nullable = true)
 |-- uid: string (nullable = true)
"""
法3:通过rdd.toDF函数
df_empty3 = rdd1.toDF(schema)
df_empty3.printSchema()
"""
输出:
root
 |-- pageid: string (nullable = true)
 |-- uid: string (nullable = true)
"""
总结

推荐使用通过“法1”,流程简单:

from pyspark.sql.types import StructType, StructField, StringType
schema = StructType([
  StructField('pageid', StringType(), True),
  StructField('uid', StringType(), True)
  ])
df_empty1 = spark.createDataFrame([], schema)

完。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页名称:pyspark创建空的DataFrame-创新互联
网站地址:http://bjjierui.cn/article/csocco.html

其他资讯