我必须处理具有" 0001546"之类的字符串值的XML。如果我使用databrics xml api加载将它们加载到数据范围中,则将实际的字符串值转换为double类型,并且有一个问题double将我的完整值从" 0001546"更改为1546。不想这样做。期望实际价值应像这样对待。一种选择是为XML指定手动架构,这在我的情况下是不可行的。我发现向数据库报告了一个错误,以禁用CESH模式,例如CSV文件。我们有任何解决方法可以解决这个问题吗?感谢您的帮助。
我找到了一种战术解决方案,直到它在新版本中修复为止。我创建了一个占位符XML文件,该文件放入输入文件夹中,该文件具有我要处理的所有XML文件。占位符XML文件中的ID字段具有类似于<Id>x0001546</Id>
的值,请注意,一个额外的" X"字符已添加到虚拟记录中。由于采样的默认值推断模式为1(无需在每次记录中执行),因此Spark识别该字段应视为字母数字。稍后,我已经从DataFrame过滤了占位符XML记录。