【问题标题】:pySpark DataFrame FloatType() with file coming in as unicodepySpark DataFrame FloatType() 文件以 unicode 形式输入
【发布时间】:2015-07-22 10:15:26
【问题描述】:

您好,我有以下架构:

[StructField(record_id,StringType,true), StructField(offer_id,FloatType,true)]

我要导入的文件是以 unicode 的形式出现的。 对于 sc.textFiles 将 unicode 转换为 false 仍然会导致字符串错误。我的问题是,在我将数据加载到数据帧之前,我是否必须清理它(在说它是 FloatType 之前将 unicode 转换为浮点数?

执行此操作的最有效方法是什么,尤其是当我扩展到 1000 个字段时。

【问题讨论】:

    标签: apache-spark dataframe pyspark


    【解决方案1】:
    1. 在不相关的数据类型之间进行隐式转换不是好习惯。所以(几乎)没有系统可以帮助你自动完成。是的,你必须告诉系统,系统会接受你将来冒失败的风险(如果字符串字段突然包含“abc”会怎样?)
    2. 您应该使用映射函数作为 sc.textfile 和 createDataFrame 之间的转换层或应用架构步骤。所有转换为正确数据类型的都应该在那里进行。
    3. 如果您有 1000 多个字段,您可能希望实现推断架构机制并获取一些数据样本来决定要使用的架构,然后将其应用于整个数据。

    (假设 Spark 1.3.1 版本)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多