gpt4 book ai didi

java - Apache-spark dataframe 列名不一致,为什么会这样?

转载 作者:行者123 更新时间:2023-11-30 08:49:23 25 4
gpt4 key购买 nike

做类似于 sql-programming-guid 的事情在 Apache-Spark 站点上,我的 Java bean 类生成的列在区分大小写方面不匹配。有些以首字母大写开头,有些则没有一致性或模式。

我做了一些与该指南不同的事情:

  • 私有(private)成员被命名为“mName”,而不仅仅是“name”,他们的 getter/setter 是 getName setName。
  • 我使用的数据类型是整数、字符串和时间戳。

所以,

  1. 通过反射(reflection),它究竟是如何获得这些名字的?它是否使用 get/set 函数名称并截断 get 和 set 部分?
  2. 有没有办法禁用区分大小写?

至于为什么我没有展示我的任何代码。这是为了工作,所以我想避免展示任何我不应该展示的东西。

--更新------------------------

所以看起来名字是基于 get 和 set 函数。将 set/getStartTime 更改为 set/getStartTimee 会导致 startTime 变为 startTimee。但是,我仍然遇到这样的情况,我有一个用于 get/setITrN 的列 ITrN,它保持大写首字母,但像 startTime 这样的列没有。

--更新#2------------------------

在尝试了名称之后,看起来决定因素是 Spark 认为名称是首字母缩略词(全部大写)、单词还是单个字母。如果它以一个单词或一个字母开头,它将变成小写。作为一种解决方法,我只是以“_”开始一切。无论如何...如果有人知道如何在查询时禁用区分大小写,请告诉我。

最佳答案

根据我的说法,首字母大写的名称只有在后面没有跟另一个大写字母时才会变成小写。所以 MMark 仍然是 MMark,而 Mark 结果变成了 mark。我猜这是为了在创建 get/set 方法时考虑驼峰式大小写,在这种情况下,想要拥有“名称”变量的人将其写为 setName 和 getName,以此来提高驼峰式大小写的可读性。

关于java - Apache-spark dataframe 列名不一致,为什么会这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com