【问题标题】:Creating DataType from a parameter Type in Spark Java API从 Spark Java API 中的参数类型创建 DataType
【发布时间】:2020-03-22 21:14:52
【问题描述】:

我正在使用 Spark 2.3。我想从给定的类型参数创建一个 DataType 对象:例如 StringType、IntegerType...

我试过这个:

String type="StringType" or String type="IntegerType";
DataType dataType=DataType.fromJson(type);

我遇到了这个异常

Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'StringType': was expecting ('true', 'false' or 'null')
 at [Source: StringType; line: 1, column: 21]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702)

谁能指导我解决这个问题。

谢谢

【问题讨论】:

    标签: java apache-spark hadoop hdfs bigdata


    【解决方案1】:

    请记住,该方法称为fromJson。因此,您需要提供一个有效的 json,并将类型简单地用双引号括起来,如下所示:

    String type="string" // or String type="integer";
    DataType dataType=DataType.fromJson("\"" + type + "\"");
    

    注意:另外,不要添加“Type”后缀,否则它将不起作用,只需添加 SparkSQL 类型的名称,例如 "string""long"

    这里是source code了解更多详情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2011-09-29
      • 2011-10-27
      • 2014-09-25
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多