【问题标题】:Infer schema option for xml processing using databrics spark API使用 databrics spark API 推断 xml 处理的模式选项
【发布时间】:2017-12-22 09:38:35
【问题描述】:

我必须处理一个具有“0001546”之类的字符串值的xml。如果我使用databrics xml API将它们加载到数据帧中,它会将实际字符串值转换为双精度类型,并且存在双精度问题将我的完整值从“0001546”更改为1546。这是因为字符串隐式类型转换为数字,但我不希望它表现得那样。预期实际值应按原样处理。 一种选择是为 xml 指定手动模式,这在我的情况下是不可行的。 我发现了一个向 databrics 报告的错误,以禁用像 csv 文件这样的推断模式。 我们有任何解决方法/解决方案来解决这个问题吗?感谢您的帮助。

【问题讨论】:

    标签: xml apache-spark-sql spark-dataframe databricks


    【解决方案1】:

    我找到了一个战术解决方案,直到它在新版本中得到修复。 我创建了一个占位符 xml 文件,该文件放置在输入文件夹中,该文件夹包含我要处理的所有 xml 文件。 占位符 xml 文件中的 id 字段的值类似于 <Id>x0001546</Id> 请注意,在虚拟记录中添加了一个额外的“x”字符。 因为,采样推断模式的默认值是 1(不需要对每条记录都这样做),spark 认为这个字段应该被视为字母数字。后来我从数据框中过滤掉了占位符 xml 记录。

    【讨论】:

    • 您好,您有没有找到更好的解决方案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2011-10-07
    • 2017-12-31
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多