Spark:创建嵌套架构

2024-04-06

伴随着火花,

import spark.implicits._
val data = Seq(
  (1, ("value11", "value12")),
  (2, ("value21", "value22")),
  (3, ("value31", "value32"))
  )

 val df = data.toDF("id", "v1")
 df.printSchema()

结果如下:

root
|-- id: integer (nullable = false)
|-- v1: struct (nullable = true)
|    |-- _1: string (nullable = true)
|    |-- _2: string (nullable = true)

现在如果我想自己创建模式,我应该如何处理?

val schema = StructType(Array(
  StructField("id", IntegerType),
  StructField("nested", ???)
))

Thanks.


根据这里的例子:https://spark.apache.org/docs/2.4.0/api/java/org/apache/spark/sql/types/StructType.html https://spark.apache.org/docs/2.4.0/api/java/org/apache/spark/sql/types/StructType.html

 import org.apache.spark.sql._
 import org.apache.spark.sql.types._

 val innerStruct =
   StructType(
     StructField("f1", IntegerType, true) ::
     StructField("f2", LongType, false) ::
     StructField("f3", BooleanType, false) :: Nil)

 val struct = StructType(
   StructField("a", innerStruct, true) :: Nil)

 // Create a Row with the schema defined by struct
 val row = Row(Row(1, 2, true))

在你的情况下它将是:

import org.apache.spark.sql._
import org.apache.spark.sql.types._

val schema = StructType(Array(
  StructField("id", IntegerType),
  StructField("nested", StructType(Array(
      StructField("value1", StringType),
      StructField("value2", StringType)
  )))
))

Output:

StructType(
  StructField(id,IntegerType,true), 
  StructField(nested,StructType(
    StructField(value1,StringType,true), 
    StructField(value2,StringType,true)
  ),true)
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark:创建嵌套架构 的相关文章

  • Python - 使用“astype”进行 pandas 列类型转换不起作用

    这是 DataFrame 的前 5 行 格式很差 但您可以看到其中大多数值都可以转换为数字 df head ID Overall Acceleration Aggression Agility Balance Ball control Co
  • 按 ID 合并两个不均匀的数据框并填充缺失值

    我是 r 新手 这是我的第一个论坛问题 我正在尝试合并两个数据集 如下所示 df1 lt data frame ID letters 1 5 x 5 9 y c NA 6 5 NA NA gt df1 ID x y 1 a 5 NA 2 b
  • 仅重命名 pandas 数据框中的最后一列(考虑重复的标题)

    我需要重命名only我的数据框中的最后一列 问题是有许多同名列 这是有原因的 因此我无法在网上其他示例中使用该代码 有没有办法使用特定的东西来隔离最后一列 我尝试过做这样的事情df rename columns df columns 1 T
  • 如何在 MS Access 中填充字段描述

    当通过 ODBC 尤其是 AS 400 链接到外部数据源时 我经常会在另一端遇到神秘的字段名称 而数据字典不可用 在极少数情况下 我能够从其他数据库获取字段描述 我希望能够一次导入它们 而不是一次将每个描述复制 粘贴到表设计表单中 我无法在
  • Spark流吞吐量监控

    有没有办法监控 Spark 集群的输入和输出吞吐量 以确保集群不会被传入数据淹没和溢出 就我而言 我在 AWS EC2 上设置了 Spark 集群 所以我正在考虑使用AWS 云观察来监控网络输入 and 网络输出对于集群中的每个节点 但我的
  • KryoSerializer 找不到我的 SparkKryoRegistrator

    我在 Amazon emr 5 2 1 上以客户端模式使用 Spark 2 0 2 我使用 Kryo 序列化并在我们自己的 KryoRegistrator 中注册我们的类 val sparkConf new SparkConf set sp
  • 将数据帧转换为多列的系列

    我尝试将数据帧转换为系列但它显示以下错误 我使用 pandas Series Dataframe gt 将 Dataframe 转换为系列 我想要第一张图像格式的输出 请尝试以下方法从提到的数据中获取 Series 对象 假设data是您正
  • 使用 zeppelin 在 kubernetes 上 Spark

    我按照本指南在使用 minikube 设置的本地 kubernetes 集群中运行 zeppelin 容器 https zeppelin apache org docs 0 9 0 SNAPSHOT quickstart kubernete
  • Apache Spark MLLib - 使用 IDF-TF 向量运行 KMeans - Java 堆空间

    我正在尝试从 大 文本文档集合 TF IDF 向量 在 MLLib 上运行 KMeans 文档通过 Lucene 英语分析器发送 稀疏向量由 HashingTF transform 函数创建 无论我使用的并行程度如何 通过合并函数 KMea
  • 无法在 Spark 中读取具有自定义一元转换器的管道模型

    我在 Spark 中定义了一个新的自定义 UnaryTransformer 示例代码中的 cleanText 并在 Pipeline 中使用它 当我保存安装的管道并尝试读回它时 出现以下错误 java lang NoSuchMethodEx
  • Spark,执行器加载/查询数据 - 性能非常低

    我的用例如下 写作RDD归档依据saveAsTable 对于 ORC 文件也是如此 每次保存都会创建新文件 因此1000 000著作给我1000 000ORC 文件 我知道每个 RDD 都会创建新的 ORC 文件 这是很自然的 但是 我不知
  • 从数据框 R 列表中获取列

    我是一个 R 初学者 我被这个问题困扰了 我有一个数据框 并通过使用 split 函数创建了一个数据框列表 例如 dfList lt split mtcars mtcars cyl 现在我想检索特定数据帧的列 例如数据框 1 的第 2 列
  • Scala 和 Spark:如何浏览图像?

    我有一些图像的二进制文件 我想遍历它们 分配像素 集群的每个节点必须获取与另一个节点的像素不同的一组像素的 RGB 并将这些 RGB 存储到斯卡拉集合 我在用SparkContext binaryFiles但我不知道如何让 Apache S
  • 左反加入Spark?

    我定义了两个表 如下所示 val tableName table1 val tableName2 table2 val format new SimpleDateFormat yyyy MM dd val data List List mi
  • 为什么 Jupyter 突然将数据框显示为基于文本的?

    我已经使用 jupyter 笔记本有一段时间了 如果我这样做的话df head 它总是返回一个格式良好的表格格式 现在我调用了数据 我得到了这个 为什么 我该如何解决它 import pandas as pd df pd read csv
  • 使用 selectExpr 选择其中包含特殊字符的 Spark 数据框列

    我所处的场景是我的列名称Munic pio字母上有重音 My selectExpr命令因此失败 有办法解决吗 基本上我有类似以下的表达式 selectExpr CAST Munic pio as string as Munic pio 我真
  • 根据其他列设置列的值

    我有一个数据框 如下所示 ID Score New ID New Score 123 5 456 456 1 789 789 0 123 我想为 New ID 列提供相同的分数 只是顺序不同 期望的结果 ID Score New ID Ne
  • 如何加入数据框(来自数据集的集合)?

    我正在寻找并找出最好的加入方式nSpark 数据帧 Example List df1 df2 df3 dfN 哪里都df有一个我可以参加的约会 递归 像这样 List df1 df2 df3 dfN reduce a b gt a join
  • Pyspark 可为空的 uuid 类型 uuid 但表达式的类型为字符变化

    给定一个表格设计不可为 null 的 uuid列和a可为空的 uuid列 如何使用 python 3 7 9 与 Pyspark 2 4 3 数据帧和 postgresql 42 2 18 jar 驱动程序进行插入 table df spa
  • 如何在 R 中创建 for 循环来进行这种特殊的计算

    我无法弄清楚这种 显然 简单的操作 给定这两个不同的数据框df A nrow 10 ncol 3 和df B n行 3 n列 3 df A df B col1 col2 col3 col1 col2 col3 1 2 4 1 4 5 3 5

随机推荐

  • 下载弹出窗口中的内容

    下面是点击 打开窗口 时弹出窗口的 html 代码 我添加了下载按钮 在其中 一旦用户单击它 就应该下载该表 我在这里缺少一些东西 谁能帮我 我已经快到最后阶段了 唯一悬而未决的是下载内容 table border 1 tr th th t
  • VS Code 无法打开终端

    由于某种原因 vscode 停止打开集成终端 现在每次尝试打开终端时都会出现错误 我已经尝试过重新安装 Git 但到目前为止还没有任何想法 这里我留下了配置和错误的图片 我什至尝试将 bash 终端更改为 powershell 但仍然没有任
  • 数据类型的数据模板 - 如何在特定列表框中覆盖此数据模板?

    我为我的宠物项目中的一些数据类型创建了几个数据模板 这些数据模板非常酷 因为它们像魔法一样工作 无论何时何地出现在 UI 中 都会神奇地改变数据类型实例的外观 现在我希望能够在一个特定的列表框中更改这些数据类型的数据模板 这是否意味着我必须
  • 这个格式字符串有什么问题?

    我有一个像这样的字符串
  • Cygwin 中的 vim 在打开文件时将第一个字符替换为“g”

    我在 Cygwin 终端中使用 vim 一切正常 最近 我在 Cygwin 中添加了一个包 导致 vim 和其他一些组件的更新 现在 当我在 vim 中打开任何文件时 文件中的第一个字符将被替换为字符 g 我尝试删除 vimrc 以及我的主
  • Chrome 扩展程序弹出窗口不再显示

    我正在创建一个新的 Chrome 扩展程序 一切都很好 然而 今天我正在编写一个新函数 然后我看到我的扩展图标变成了灰色 当我单击该图标时 不会显示弹出窗口 有趣的一点是该扩展正在运行 没有错误日志 我把自己写的代码都注释掉了 但是没有效果
  • NHibernate:更改父级 - “删除的对象将通过级联重新保存”

    正如标题所说 基本上我想做的是改变孩子的父母 但是当我尝试这样做时 出现异常 ObjectDeletedException 已删除的对象将由级联重新保存 从关联中删除已删除的对象 我已经在谷歌上搜索了几个小时 但我找到的解决方案都不适合我
  • 在新文本文件中打印替换行

    我正在尝试编辑 matlabfile 并替换某些特定行中的一些编码部分 init 但是 使用下面的格式进行更改根本不会更改行上下文 它将打印相同的旧行 知道我做错了什么吗 replaceAll 不适合将行中的某些单词替换为其他单词 提前致谢
  • 参考 UWP 类库中的 ResourceDictionary

    我们有一个使用模板 10 的 UWP 应用 资源位于同一解决方案的 UWP 类库中 当我们运行应用程序时 我们收到错误 Windows UI Xaml Markup XamlParseException 无法从 ms resource Fi
  • 在 React 中的图表 js-2 的圆环图中添加文本

    i want to add a text message inside my doughnut pie chart To be more specific i want something like this 我在堆栈溢出中遇到了同样的问题
  • RecyclerView延迟加载(通用图像加载器)

    Using Android 通用图像加载器 https github com nostra13 Android Universal Image Loader和 RecyclerView 异步加载图像 我遇到了与其他人相同的错误 图像混合在一
  • mrjob组合器不工作python

    简单的映射组合reduce程序 映射column 1与值column 3并追加 在相同键和附加的每个映射器输出中 减少相同密钥的输出后 input 1 and input 2两个文件都包含 a 1 2 3 a 4 5 6 Code is f
  • Scipy.sparse.csr_matrix:如何获取前十个值和索引?

    我有一个大csr matrix我对前十个值及其每行的索引感兴趣 但我没有找到一个合适的方法来操纵矩阵 这是我当前的解决方案 主要思想是逐行处理它们 row csr matrix getrow row number toarray 0 rav
  • MediaSessionCompat:面向 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

    我正在尝试将我的应用程序更新到 Android SDK 31 但我遇到了 MediaSessionCompat 问题 我有一个扩展 MediaBrowserServiceCompat 的 MediaService 并在该服务的 onCrea
  • 如何在不使用 Visual Studio 的情况下编译并运行 C# 程序? [复制]

    这个问题在这里已经有答案了 我对 C 很陌生 我刚刚使用 Visual Studio 运行了 C Hello World 程序 我可以在不使用 Visual Studio 的情况下运行或编译 C 程序吗 如果可以的话我应该使用哪个编译器 T
  • 在django中迁移模型时如何解决SQLdecode错误?

    我是 django 新手 我已经创建了一个项目和应用程序 我想将我的项目连接到 mongodb 当我进入python manage py migrate命令 我收到下面提到的错误 我已经删除了数据库并清除了 django migration
  • 如何使用 Wicket 密码保护页面?

    我想用密码保护 Wicket 中的网页 以便用户只有在登录后才能访问它 我还希望该页面显示登录页面 然后在登录用户尝试访问的原始页面后 这是如何用检票口完成的 我已经创建了一个登录页面并扩展了会话类 框架提供的方式是提供一个授权策略 htt
  • 是否可以将泛型类型限制为仅允许已知属性?

    如果向函数提供的对象具有太多属性 则会出现错误 type Options str a b function foo a Options return a str const resultA foo str a extraOption err
  • 迭代包括空行在内的行

    给定一个带有一些空行的多行字符串 我如何在Lua中迭代行包括空行 local s foo nbar n njim for line in magiclines s do print line and blank or line end gt
  • Spark:创建嵌套架构

    伴随着火花 import spark implicits val data Seq 1 value11 value12 2 value21 value22 3 value31 value32 val df data toDF id v1 d