weixin_51570133 2023-01-18 15:27 采纳率: 58.3%
浏览 24
已结题

如何让sparksql的查询结果不带问号

我在虚拟机使用sparksql查询数据
以下是我的代码

import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder
import org.apache.spark.sql.Encoder
import spark.implicits._
case class cars(city: String, keyword: String, totals: String, title: String, time: String, mileage: String, output: String, gearbox: String, price: String, standard: String, nprice: String, transfer: String, output1: String, gearbox1: String, color: String, keys: String)
val carsDF = spark.sparkContext.textFile("file:///usr/local/bigdatacase/dataset/cars.txt").map(_.split("\t")).map(attributes => cars(attributes(0), attributes(1) ,attributes(2), attributes(3), attributes(4), attributes(5), attributes(6), attributes(7), attributes(8), attributes(9), attributes(10), attributes(11), attributes(12), attributes(13), attributes(14), attributes(15).trim.toString)).toDF()
carsDF.createOrReplaceTempView("cars")
carsDF.groupBy("city").count().show()

但结果是这样的

+----+-----+
|city|count|
+----+-----+
| ?沈阳| 1|
| ?大同| 1|
| ?宁波| 1|
| ?徐州| 2|
| 南京| 41|
| ?厦门| 3|
| ?青岛| 1|
| ?长春| 5|
| ?珠海| 3|
| ?烟台| 1|
| ?邯郸| 1|
| 徐州| 915|
| 晋江| 1043|
| 长沙| 174|
| 沈阳| 984|
| 张家口| 894|
| ?武汉| 1|
| 哈尔冰| 194|
| 西安| 159|
| ?晋江| 4|
+----+-----+
only showing top 20 rows

我想让查询结果不带问号,该怎么做?

  • 写回答

1条回答 默认 最新

  • 流比 2023-01-18 16:09
    关注

    这是因为在读入数据时,有部分数据的city字段值可能为"?",导致在展示时带有问号。可以在读入数据之前进行数据清洗,将"?"替换为null或其他合法字符。具体实现可以在创建case class cars时对city字段进行特判,如果为"?"则替换为null。例如:

    case class cars(city: String, keyword: String, totals: String, title: String, time: String, mileage: String, output: String, gearbox: String, price: String, standard: String, nprice: String, transfer: String, output1: String, gearbox1: String, color: String, keys: String) {
    val cityVal = if (city == "?") null else city
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 创建了问题 1月18日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助