【问题标题】:SparkSql get float type field value null from hive tableSparkSql 从 hive 表中获取浮点类型字段值 null
【发布时间】:2017-12-03 09:04:24
【问题描述】:

我使用 sqoop 创建和导入 hive 表并使用 pyspark 获取数据。该表由一个字符串字段、一个整数字段和几个浮点字段组成。我可以通过hue hive sql 查询获取全部数据。但是,当我使用 pyspark sql 编程时,可以显示非浮点字段,并且浮点字段始终显示空值。 HUE hive sql 结果:

zeppelin pyspark 输出:

hive表的详细信息:

【问题讨论】:

    标签: hive pyspark apache-spark-sql


    【解决方案1】:

    我终于找到了原因。因为我通过 sqoop 从 mysql 导入这些表。原始表列是大写的,在 hive 中它们会自动转换为全小写。它导致 sparksql 无法检索所有转换后的字段值。 (但是 HUE 配置单元正常查询这些数据,这可能是 spark 的错误。)我必须通过在 sqoop 命令中指定选项 --query 将大写字段名称转换为小写。即 --query 'select MMM as mmm from table...'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      相关资源
      最近更新 更多