spark scala datastax csv加载文件和打印模式

时间:2017-11-02 20:27:08

标签: scala csv apache-spark datastax

Spark版本2.0.2.6 Scala版本2.11.11 使用DataStax 5.0

import org.apache.log4j.{Level, Logger}
import java.util.Calendar
import org.apache.spark.sql.functions._

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import com.datastax.spark.connector._
import org.apache.spark.sql._

object csvtocassandra {

  def main(args: Array[String]): Unit = {
    val key_space = scala.io.StdIn.readLine("Please enter cassandra Key Space Name: ")
    val table_name = scala.io.StdIn.readLine("Please enter cassandra Table Name: ")

    // Cassandra Part

    val conf = new SparkConf().setAppName("Sample1").setMaster("local[*]")
    val sc = new SparkContext(conf)
    sc.setLogLevel("ERROR")

    println(Calendar.getInstance.getTime)

    // Scala Read CSV Part
    val spark1 = org.apache.spark.sql.SparkSession.builder().master("local").config("spark.cassandra.connection.host", "127.0.0.1")
      .appName("Spark SQL basic example").getOrCreate()

    val csv_input = scala.io.StdIn.readLine("Please enter csv file location: ")
    val df_csv = spark1.read.format("csv").option("header", "true").option("inferschema", "true").load(csv_input)

    df_csv.printSchema()
    }
    }

为什么我无法将此程序作为Job尝试将其提交给spark。当我使用IntelliJ运行该程序时,它可以工作。 但是当我创建一个JAR并运行它时,我得到了以下错误。

命令:

> dse spark-submit --class "csvtospark" /Users/del/target/scala-2.11/csvtospark_2.11-1.0.jar

我收到以下错误:

ERROR 2017-11-02 11:46:10,245 org.apache.spark.deploy.DseSparkSubmitBootstrapper: Failed to start or submit Spark application
org.apache.spark.sql.AnalysisException: Path does not exist: dsefs://127.0.0.1/Users/Desktop/csv/example.csv;

为什么它会附加dsefs://127.0.0.1部分,即使我在询问时只提供路径/Users/Desktop/csv/example.csv。

我也试过给--mater选项。我怎么会得到同样的错误。我在Local Machine中运行DataStax Spark。没有集群。
请纠正我在哪里做错了。

1 个答案:

答案 0 :(得分:0)

知道了。没关系。对不起。

输入应为file:/// file_name