我用sqoop创建并导入hive表并使用pyspark来获取数据。该表由一个字符串字段,一个int字段和几个float字段组成。我可以通过hue hive sql查询获取整个数据。但是当我用pyspark sql编程时,可以显示非浮点字段,浮点字段总是显示空值。 HUE hive sql结果:
hive表的详细信息:
答案 0 :(得分:1)
我终于找到了原因。因为我通过sqoop从mysql导入这些表。原始表列是大写的,在配置单元中,它们自动转换为全部小写。它导致所有转换后的字段值无法通过sparksql检索。 (但是HUE hive正常查询这些数据,它可能是spark的错误。)我必须通过在sqoop命令中指定选项--query来将大写字段名称转换为小写。即--query'从表中选择MMM为mmm''