当前位置: 首页 > 知识库问答 >
问题:

将List转换为dataframe spark scala

方季同
2023-03-14

我有一个有30多个字符串的列表。如何将list转换为dataframe?我所尝试的:

Val list=List("a","b","v","b").toDS().toDF()

Output :


+-------+
|  value|
+-------+
|a      |
|b      |
|v      |
|b      |
+-------+


Expected Output is 


  +---+---+---+---+
| _1| _2| _3| _4|
+---+---+---+---+
|  a|  b|  v|  a|
+---+---+---+---+

共有1个答案

祁杰
2023-03-14

list(“a”、“b”、“c”、“d”)表示具有一个字段的记录,因此resultset在每行中显示一个元素。

要获得预期的输出,行中应该有四个字段/元素。因此,我们将列表包装为list((“a”、“b”、“c”、“d”)),它代表一行,有四个字段。以类似的方式,包含两行的列表称为列表((“A1”,“B1”,“C1”,“D1”),(“A2”,“B2”,“C2”,“D2”))

scala> val list = sc.parallelize(List(("a", "b", "c", "d"))).toDF()
list: org.apache.spark.sql.DataFrame = [_1: string, _2: string, _3: string, _4: string]

scala> list.show
+---+---+---+---+
| _1| _2| _3| _4|
+---+---+---+---+
|  a|  b|  c|  d|
+---+---+---+---+


scala> val list = sc.parallelize(List(("a1","b1","c1","d1"),("a2","b2","c2","d2"))).toDF
list: org.apache.spark.sql.DataFrame = [_1: string, _2: string, _3: string, _4: string]

scala> list.show
+---+---+---+---+
| _1| _2| _3| _4|
+---+---+---+---+
| a1| b1| c1| d1|
| a2| b2| c2| d2|
+---+---+---+---+
 类似资料:
  • 我在MongoDB中使用Java驱动程序3.0,以便通过Web服务发送JSON。 当我想将文档对象(org.bson.文档)转换为JSON时,我使用,当我想将JSON转换为文档对象时,我使用。 但是,当我处理文档列表时(如JSON中所示:

  • 此API调用返回一个可能较大的列表 排序、搜索和访问一个潜在的大型LinkedList将非常缓慢,对我的程序来说是不可接受的。因此,我需要将列表转换为ArrayList,以确保程序的实际效率。但是,由于列表很可能已经是ArrayList,因此不必要地创建列表的新ArrayList副本将效率低下。 考虑到这些约束,我提出了以下方法将列表转换为ArrayList: 我的问题是:这是处理具有未知实现的列

  • 如何将一个var转换为两个var列表? 下面是我的输入变量: 我希望我的结果应该是:

  • 我正在学习Spring WebFlux。 我的实体是这样的: 我有一个储存库(R2使用H2数据库)如下: 我的控制器是: 目前为止一切正常。我能够每3秒钟向视图返回整个用户列表。这里没有任何问题。 现在,我想将Flue,即Flux Flux2=userRepository.findAll()发送到视图。这意味着,不是如何才能? 问题:我如何才能做到这一点?即我如何才能每3秒将整个Flux发送到我的

  • 我试图将JSON字符串(必须是列表)转换为对象列表: 这是我的服务。class: 我得到了: InvalidDefinitionException:无法构造的实例(不存在像默认构造那样的创建者): 更新: 但仍然是个例外: InvalidDefinitionException:无法构造的实例(不存在像默认构造那样的创建者):

  • 我有这个: 我想把这个(String类型的列表)直接投射到新的(类型)上,但不知道如何?