SparkSql从hive表获取float类型字段值null

时间:2017-06-29 15:09:48

标签: hive pyspark apache-spark-sql

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

zeppelin pyspark输出: enter image description here

hive表的详细信息:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

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