Spark:scala集合转化为DS/DF

scala集合转化为DS/DF

 1 case class TestPerson(name: String, age: Long, salary: Double)
 2 val tom = TestPerson("Tom Hanks",37,35.5)
 3 val sam = TestPerson("Sam Smith",40,40.5)
 4 val PersonList = mutable.MutableList[TestPerson]()
 5 PersonList += tom
 6 PersonList += sam
 7
 8 val personDS = PersonList.toDS()
 9 println(personDS.getClass)
10 personDS.show()
11
12 val personDF = PersonList.toDF()
13 println(personDF.getClass)
14 personDF.show()
15 personDF.select("name", "age").show()

输出结果:

class org.apache.spark.sql.Dataset

+---------+---+------+
|     name|age|salary|
+---------+---+------+
|Tom Hanks| 37|  35.5|
|Sam Smith| 40|  40.5|
+---------+---+------+

class org.apache.spark.sql.DataFrame

+---------+---+------+
|     name|age|salary|
+---------+---+------+
|Tom Hanks| 37|  35.5|
|Sam Smith| 40|  40.5|
+---------+---+------+

+---------+---+
|     name|age|
+---------+---+
|Tom Hanks| 37|
|Sam Smith| 40|
+---------+---+

参考资料:

https://stackoverflow.com/questions/39397652/convert-scala-list-to-dataframe-or-dataset

时间: 2024-10-29 05:47:04

Spark:scala集合转化为DS/DF的相关文章

Scala实战高手****第14课Scala集合上的函数式编程实战及Spark源码鉴赏

package com.dt.spark.scala.bascis object Functional_Itearal {   def main(args: Array[String]): Unit = {        val range = 1 to 10     val list = List(1,2,3,4,5)     println(list.head)      println(list.tail)            println(list.tail)         pri

Scala集合笔记

Scala的集合框架类比Java提供了更多的一些方便的api,使得使用scala编程时代码变得非常精简,尤其是在Spark中,很多功能都是由scala的这些api构成的,所以,了解这些方法的使用,将更加有助于我们学习Scala和Spark: List,Map,Set的一些api的用法如下:  Java代码   /** * Scala 集合测试 */ def collectionTest(): Unit ={ val map =Map("red"->"红色",&

Mapreduce+Hive+Spark+Scala平台搭建

Mapreduce+Hive+Spark+Scala平台搭建 说明 平台搭建成功后,使用Java语言进行算法设计和应用的开发.文末有使用java设计的逻辑回归(Logistics Regression)做小数据集的二分类问题. 一.搭建准备 VMWare Workstation Ubuntu 14.04 Server.iso Xshell--远程连接主机终端 Server 版安装配置 新建三台虚拟机,安装时选择OpenSHH Server预安装环境 一台作为master 另两台作为slave,命

Scala集合类型详解

Scala集合 Scala提供了一套很好的集合实现,提供了一些集合类型的抽象. Scala 集合分为可变的和不可变的集合. 可变集合可以在适当的地方被更新或扩展.这意味着你可以修改,添加,移除一个集合的元素.而不可变集合类永远不会改变.不过,你仍然可以模拟添加,移除或更新操作.但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变. 集合中基本结构: 几种常用集合类型示例: // 定义整型 List   val x = List(1, 2, 3, 4)     // 定义 S

C# 将list<>泛型集合 转化为 DataTable

使用案例:将页面easy ui 中datagrid表格中的数据,存成json字符串, 通过ajax和ashx传入C#将string类型的json字符串解析成list<>泛型集合, 由于业务需要,将本地sql不同表的数据和页面html的数据(通过webservice传入),放在一起处理数据. 转化方法: public class ListToDatatable { public ListToDatatable() { } public static DataTable ListToDataTab

scala集合类型与java的转换

scala集合与java集合类型相互转换: http://www.scala-lang.org/api/current/index.html#scala.collection.JavaConverters$ 您可以通过JavaConverters package轻松地在Java和Scala的集合类型之间转换.它用asScala 装饰常用的Java集合以和用asJava 方法装饰Scala集合.    import scala.collection.JavaConverters._    val 

再谈Scala集合

集合!集合!一个现代语言平台上的程序员每天代码里用的最多的大概就是该语言上的集合类了,Scala的集合丰富而强大,至今无出其右者,所以这次再回过头再梳理一下. 本文原文出处:  还是先上张图吧,这是我找到的最好的一个关于Scala集合的图了,出自:http://lkumarjain.blogspot.co.id/2015/01/scala-collection-framework.html : 一致的构建风格 在Scala里我们使用一致的简洁的语法实例化一个集合,不管你使用的是一个Trait还是

Scala集合学习总结

遍历集合可以使用迭代器iterator的那套迭代方式.Seq是一个有先后次序的序列,比如数组或列表.IndexedSeq可以通过下标进行任意元素的访问.例如ArrrayBuffer. Set是一组没有先后次序的值,在SortedSet中,元素以某种排过序的顺序被访问. Map是一组(键,值)对偶,SortedMap按照键的顺序访问实体 Scala集合有三个基本操作: head 返回集合第一个元素 tail 返回一个集合,包含除了第一元素之外的其他元素 isEmpty 在集合为空时返回true 可

scala集合与java集合的转换应用

今天在业务开发中遇到需要Scala集合转为Java集合的场景: 因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆: import scala.collection.JavaConverters._ //需要导入这个包 val javaRequest: java.util.List[TAddShopRequest] = request.asJava//将Scala集合转为Java集合当作参数传入addShop方法 val res: DadaApiRes