Spark创建空的DataFrame
我的原创地址:https://dongkelun.com/2018/08/14/sparkEmptyDataFrame/
前言
本文主要给出Spark创建空的DataFrame的代码示例,这里讲的空的DataFrame主要指有列名(可以自己随意指定),但是没有行的DataFrame,因为自己在开发过程中有这个需求,之前并不知道怎么创建,就查了一下,发现资料并不多,不知道因为太简单还是用的人少~,至于具体什么需求就不阐述了,主要给有这方面需求的小伙伴参考一下。还有另一种空的DataFrame就是没有任何行任何列的DataFrame,不知道有什么用,反正贴在代码里,万一有人用呢~
1、代码
代码较简单,如下
package com.dkl.leanring.spark.df
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types._
import org.apache.spark.sql.Row
import org.apache.spark.rdd.EmptyRDD
/**
* Spark创建空DataFrame示例
*/
object EmptyDataFrame {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("EmptyDataFrame").master("local").getOrCreate()
/**
* 创建一个空的DataFrame,代表用户
* 有四列,分别代表ID、名字、年龄、生日
*/
val colNames = Array("id", "name", "age", "birth")
//为了简单起见,字段类型都为String
val schema = StructType(colNames.map(fieldName => StructField(fieldName, StringType, true)))
//主要是利用了spark.sparkContext.emptyRDD
val emptyDf = spark.createDataFrame(spark.sparkContext.emptyRDD[Row], schema)
emptyDf.show
/**
* 也可以给每列指定相对应的类型
*/
val schema1 = StructType(
Seq(
StructField("id", IntegerType, true),
StructField("name", StringType, true),
StructField("age", IntegerType, true),
StructField("birth", StringType, true)))
val emptyDf1 = spark.createDataFrame(spark.sparkContext.emptyRDD[Row], schema1)
emptyDf1.show
//还有一种空的DataFrame,没有任何行任何列
spark.emptyDataFrame.show
spark.stop()
}
}
2、结果
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Kafka-0.10.0.0 集群高可靠实验
记录实验过程之前,先谈一谈学习Kafka过程的心得。 大数据包含一个生态,需众多组件配合使用。逐个学习各个组件非常费力,想摸索出一种快速入门的方法,可能是每个学习大数据的同学都想要的。 我的方法是,每个组件遵循以下步骤: (1)介绍文档,Getting Start,Introduction等,通常1个小时内可以搞定。 (2)安装配置,下载Tar包,配置Config。半小时。 (3)用官方Api,实现几个Demo。1个小时。 这样,入门过程差不多花上半天时间。但是学习kafka时,把精力放在了zookeeper的机制原理上,大大延长了整个实验的时间。 感谢kelgon发布的实验教程,我的实验过程也是按照这位牛人的文章做的,在此感谢。 kafka系统示意图 一、zookeeper安装 实验环境:三台计算机(用本机docker安装镜像,OS:ubuntu 16.04) hbase:172.18.0.71 datanode2:172.18.0.12 datanode3:172.18.0.13 解压zookeeper 3.4.9 到/opt/zookeeper文件夹中 配置zoo.cfg,每台z...
-
下一篇
HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践
8月17日,HBaseCon亚洲2018峰会在北京歌华开元大酒店盛大开幕。作为Apache基金会旗下HBase社区的顶级用户峰会,HBaseCon大会是Apache HBase™官方从2012年开始发起和延续至今的技术会议,先后在美国加州、日本东京和中国深圳等地举办,得到了Google、Facebook、雅虎和阿里巴巴等众多全球顶级互联网公司大力支持。作为国内的主要社区贡献者,阿里巴巴此次联合小米、华为、滴滴等国内主流互联网企业承办的HBaseCon亚洲2018峰会落户北京,本次HBaseCon亚洲峰会不仅得到了Apache官方授权,还得到了来自Cloudera,Intel等商业公司社区PMC的强烈支持。在本次峰会上,三十余位来自亚洲一线互联网和大数据生态相关企业的技术专家和社区领袖集体亮相,为广大开发者带来了HBase及大数据技
相关文章
文章评论
共有0条评论来说两句吧...


微信收款码
支付宝收款码