scala - 类型转换 Dataframe 为空字段返回“null”
问题描述
我有一个原始数据加载到我的配置单元表中,默认情况下所有列都是字符串。现在我需要更改配置单元表的数据类型以导出到 SQLServer。当对 hive 列进行类型转换时,空字段返回“NULL”,尝试将 hive 表加载到数据框中并对列进行类型转换,但数据框仍然为空字段返回“null”。SQLserver 无法识别这些值。
当我从配置单元或数据框获取数据时,任何人都可以提出一个解决方案来避免显示“空”值。
解决方案
如果您只想更改数据类型,因为您希望在导出的数据中具有该特定格式,请考虑根据您的要求使用写入目录,然后使用 sqoop/任何其他工具导出。
INSERT OVERWRITE DIRECTORY '<HDFS path>'
Row format delimited
Fields terminated by '<delimiter>'
SELECT
a,
b
From
table_name
Where <condition>;
导出时,如果您有空值,请考虑在您的 sqoop 命令中使用这些参数
--null-string "\\N" --null-non-string "\\N"
希望这可以帮助你
推荐阅读
- java - 我可以为不同类中的不同 Javafx 选项卡编写代码吗
- javascript - Firebase友谊节点如何仅使用uid显示用户数据
- javascript - Apps 脚本执行 API 返回未经身份验证
- html - 我在表单中遇到了设计问题。我做错了什么,下边缘不齐
- php - 如何最好地编写 HTAccess
- r - 将分离的键值对的数据框列拆分为新列
- php - curl、ssl和html5音频的问题
- javascript - html2canvas 和 jsPDF,css 样式在 pdf 中呈现不正确
- java - StringBuilder / StringBuffer 与内存中的文字字符串
- ruby-on-rails - “加载共享库时出错:libruby.so.2.5”,同时将以前工作的 Ruby/Rails 应用程序推送到 Heroku