我希望使用Apache Spark Version i.e 2.2.1
中的最新Windows 7 via cmd
读取CSV文件,但由于metastore_db
存在问题,因此无法执行此操作。我试过以下步骤:
1. spark-shell --packages com.databricks:spark-csv_2.11:1.5.0 //Since my scala
// version is 2.11
2. val df = spark.read.format("csv").option("header", "true").option("mode", "DROPMALFORMED").load("file:///D:/ResourceData.csv")// As //in latest versions we use SparkSession variable i.e spark instead of //sqlContext variable
但它让我失误:
Caused by: org.apache.derby.iapi.error.StandardException: Failed to start database 'metastore_db' with class loader o
.spark.sql.hive.client.IsolatedClientLoader
Caused by: org.apache.derby.iapi.error.StandardException: Another instance of Derby may have already booted the database
我能够在1.6版本中阅读csv,但我想在最新版本中阅读。谁能帮我这个??很多天我都被困住了。
答案 0 :(得分:4)
打开Spark Shell
spark-shell
通过SQLContext传递Spark Context并将其分配给sqlContext变量
val sqlContext = new org.apache.spark.sql.SQLContext(sc) // As Spark context available as 'sc'
根据您的要求阅读CSV文件
val bhaskar = sqlContext.read.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("/home/burdwan/Desktop/bhaskar.csv") // Use wildcard, with * we will be able to import multiple csv files in a single load ...Desktop/*.csv
收集RDD并打印
bhaskar.collect.foreach(println)
<强>输出强>
_a1 _a2 Cn clr clarity depth aprx price x y z
1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
6 0.24 Good J VVS2 63 57 336 3.94 3.96 2.48
答案 1 :(得分:0)
最后,即使这也只适用于基于Linux的O.S.从官方文档下载apache spark,并使用this链接进行设置。只需验证您是否可以调用spark-shell
。现在,您可以使用最新的spark版本,使用任何类型的文件加载和执行操作。我不知道为什么它不在Windows上工作,即使我是第一次运行它。