Spark 读取镶木地板文件时出现问题

2024-01-12

我有 2 个镶木地板零件文件part-00043-0bfd7e28-6469-4849-8692-e625c25485e2-c000.snappy.parquet(是 2017 年 11 月 14 日运行的部分文件)和part-00199-64714828-8a9e-4ae1-8735-c5102c0a834d-c000.snappy.parquet(是 2017 年 11 月 16 日运行的部分文件)并且两者具有相同的架构(我通过打印架构验证)。

我的问题是,如果我使用 Spark 分别读取这 2 个文件,那么我有 10 列,这些列会正常显示。但是,如果我将此文件放在文件夹中尝试一起读取,总计数将正确(两个文件的行数总和),但从第二个文件开始,大多数列都是空的。只有大约 2 3 列具有正确的值(值存在于文件中,因为如果我单独读取它,它会正确显示)。我在这里缺少什么?这是我用于测试的代码:

def initSparkConfig: SparkSession = {

    val sparkSession: SparkSession = SparkSession
      .builder()
      .appName("test")
      .master("local")
      .getOrCreate()

    sparkSession.sparkContext.hadoopConfiguration.set("mapreduce.fileoutputcommitter.algorithm.version", "2")
    sparkSession.sparkContext.getConf.set("spark.hadoop.parquet.enable.summary-metadata", "false")
    sparkSession.sparkContext.getConf.set("spark.sql.parquet.mergeSchema", "false")
    sparkSession.sparkContext.getConf.set("spark.sql.parquet.filterPushdown", "false")
    sparkSession.sparkContext.getConf.set("spark.sql.hive.metastorePartitionPruning", "true")

    sparkSession
  }

sparkSession = initSparkConfig
sparkSession.read.parquet("/test_spark/").createOrReplaceTempView("table")
sparkSession.sql("select * from table").show 

更新 :

如果我分别读取两个文件并进行联合并读取,则所有列都会被填充,没有任何问题。

更新2:

如果我做mergeSchema = true读取时抛出异常Found duplicate column(s) in the data schema and the partition schema: [即将为空的列的列表]。过滤器列之一为ambiguous


事实证明,模式不完全匹配。列名的大小写存在差异(中间有一些字符),该列名为空。而且镶木地板列名称区分大小写,因此这导致了所有问题。它试图读取根本不存在的专栏。

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

Spark 读取镶木地板文件时出现问题 的相关文章

随机推荐

  • 将表单设置为父级抛出异常“顶级控件无法添加到控件”

    我想从另一个表单访问一个表单的变量 单击主窗体内的按钮时 我想将主窗体设置为父窗体 然后调出另一个窗体 子窗体 我将在其中访问主窗体的变量 我的点击处理程序如下 private void btnSystem Click object sen
  • 以时间间隔链接 UIView 动画

    我需要对 3 个 UIView 进行动画处理 淡入 淡出 1个动画持续时间为0 6秒 淡入 淡出周期为0 6 0 6秒 但我需要在 0 2 秒内启动动画 第一个动画应在 0 0 秒内启动 第二个动画应在 0 2 秒内启动 第三个动画应在 0
  • SwiftUI 列表背景的默认颜色是什么?

    我知道如何更改 SwiftUI 视图列表的背景颜色 但我找不到默认颜色 我尝试过使用 MacOS 的 数字色度计 但它无法正确识别颜色 正如您在此图中看到的 我尝试设置列表行的背景颜色 使用 listRowBackground根据数字色度计
  • kubernetes go 客户端补丁示例

    经过一番搜索后 我无法找到使用任何策略在 Patch 上执行的 golang Kube 客户端示例 我正在寻找执行此操作的 golang 示例 kubectl patch pod valid pod type json p op repla
  • 使用wp_insert_post()创建一个新页面

    我在 PHP 函数中有以下代码 当我安装允许您创建帖子或页面的插件时 该函数会被激活 工作完美并制作页面 如果 post type是 post 但如果 post type是 页面 那么它不起作用 不会创建页面 my post array p
  • Pandas 重置系列索引以删除多重索引

    我有一个看起来像这样的系列 1999 03 31 SOLD PRICE NaN 1999 06 30 SOLD PRICE NaN 1999 09 30 SOLD PRICE NaN 1999 12 31 SOLD PRICE 3 00 2
  • JavaFX 选项卡式窗格,每个选项卡上都有一个表格视图?

    我有一个选项卡式窗格 每个选项卡上都有一个表格 我向表中添加了不同的项目 我只希望每个选项卡向我显示该表的相应项目 但什么也没有出现 当我调试时 我可以清楚地看到选项卡窗格 其中包含选项卡 包含表视图 包含正确的项目 为什么这不起作用 Th
  • 如何为 android ndk 安装 libiconv?

    有人可以教我或给我指点如何为 Android 安装 libiconv 的教程吗 我已经用谷歌搜索了三天 但找不到教程或操作方法 获取 libiconv 源代码 并创建 Android mk makefile 看着这个网站 http grou
  • Drools 中类型不安全的对象字段访问

    我正在使用一个系统 其中插入 Drools 引擎的一些数据遵循以下 严重过度简化 格式 public class Item public String getValueType public Object getValue 这些值可能有几种
  • R 快速 XML 解析

    当前在 R 中将 XML 文件转换为数据帧的最快方法是什么 XML 如下所示 注意 并非所有行都包含所有字段
  • ValueError:名称投影仪的重复插件

    Running tensorboard logdir log dir我收到错误 Traceback most recent call last File home user local bin tensorboard line 11 in
  • 如何使用条形图缩放 Seaborn 的 y 轴

    我在用着factorplot kind bar 如何缩放 y 轴 例如使用对数刻度 我尝试修改绘图的轴 但这总是以某种方式弄乱条形图 所以请先尝试您的解决方案以确保它确实有效 考虑到你的问题提到barplot我想我也会为这种类型的情节添加一
  • 异步 MVVM 命令

    我一直在关注 Stephen Cleary 在 MSDN 杂志上发表的相当优秀的系列文章 异步 MVVM 应用程序的模式 https msdn microsoft com en us magazine dn630647 aspx 并一直在使
  • pydicom“数据集”对象没有属性“TransferSyntaxUID”

    我正在使用 pydicom 1 0 0a1 从下载here https github com pydicom pydicom 当我运行以下代码时 ds pydicom read file DR abnormal abc dcm force
  • 一个季度的周数

    我试图根据日期获取给定季度的周数 我目前有这个公式 1 WEEKNUM EDATE Y4 1 WEEKNUM DATE YEAR EDATE Y4 1 LOOKUP MONTH EDATE Y4 1 1 4 7 10 1 But for J
  • 没有名为 urllib3 的模块

    我编写了一个调用 API 的脚本 并于上周成功运行了它 这周 它不会运行 我收到以下错误消息 Traceback most recent call last File user audit py line 2 in
  • 对基于 REST 的 API 到底是什么感到困惑

    我试图了解基于 REST 的 API 到底是什么 据我了解 这只是在 API 中编写函数的约定 所有函数都应该是 GET POST DELETE PUT 形式吗 因此 例如 REST API 中的函数可以是 public string ge
  • 将虚拟地址转换为物理地址

    The following page table is for a system with 16 bit virtual and physical addresses and with 4 096 byte pages The refere
  • endUpdates 后 UITableView 部分页脚视图位置

    在 ios8 上 我使用核心数据表视图控制器 删除行后 我的部分页脚视图突然一直下降到底部UITableView 当我滚动表格视图时 页脚视图返回到其位置 如何解决这个问题以及为什么会发生这种情况 这是代码以防万一 void control
  • Spark 读取镶木地板文件时出现问题

    我有 2 个镶木地板零件文件part 00043 0bfd7e28 6469 4849 8692 e625c25485e2 c000 snappy parquet 是 2017 年 11 月 14 日运行的部分文件 和part 00199