【问题标题】:spark-submit 'Unable to coerce 'startDate' to a formatted date (long)'spark-submit '无法将'startDate'强制转换为格式化日期(长)'
【发布时间】:2020-01-17 12:23:55
【问题描述】:

出现错误:错误:当我运行 spark submit 时,无法将“startDate”强制转换为格式化日期(长):

dse -u cassandra -p cassandra spark-submit --class com.abc.rm.Total_count \
   --master dse://x.x.x.x:9042 TotalCount.jar \
   "2024-06-11 00:00:00.000+0000" "2027-11-15 00:00:00.000+0000" \
   10-118-16-132.bbc.ds.com pramod history

下面是我的代码:

package com.abc.rm
import com.datastax.spark.connector._
import org.apache.spark.SparkContext
object Total_count {
  def main(args: Array[String]):Unit = {
    var startDate = args(0)
    var endDate = args(1)
    val master = args(2)
    var ks = args(3)
    var table_name = args(4)
    println("startDate-->"+startDate)
    println("endDate-->"+endDate)
    println("master-->"+master)

    val conf = new org.apache.spark.SparkConf().setAppName("Total_count")
       .set("spark.cassandra.connection.host", master)
       .set("spark.cassandra.auth.username","cassandra")
       .set("spark.cassandra.auth.password","cassandra")

    var sc = new SparkContext(conf)

    val rdd = sc.cassandraTable("pramod", "history")
        .where("sent_date>='startDate' and sent_date <='endDate'")
        .cassandraCount()
    println("count--> "+rdd)
    sc.stop()
    System.exit(1)
}}

如何传递/转换参数。

【问题讨论】:

    标签: scala apache-spark datastax spark-submit


    【解决方案1】:

    您没有传递参数,而是逐字传递字符串startDateendDate。要使其正常工作,您需要将其编写为

    .where(s"sent_date>='$startDate' and sent_date <='$endDate'")
    

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 2015-05-15
      • 2016-07-27
      • 2018-05-14
      • 2019-03-31
      • 2021-11-25
      • 2016-09-15
      • 2018-02-23
      • 1970-01-01
      相关资源
      最近更新 更多