关于运行spark教程考试的几个问题

pxq42qpu  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(208)

我现在正在学习spark的一些教程。我下载了spark 2.0.1的最新版本。以下是我最近在spark shell中运行的代码:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.createDataFrame

case class Person(name: String, age: Int)
val people = sc.textFile("examples/src/main/resources/people.txt").map(_.split(",")).map(p => Person(p(0),p(1).trim.toInt)).toDF()

// people.saveAsParquetFile("people.parquet")
people.write.format("parquet").save("people.parquet")

val parquetFile = sqlContext.parquetFile("people.parquet")

//Parquet files can also be registered as tables and then used in SQL statements.
parquetFile.registerTempTable("parquetFile")
val teenagers = sqlContext.sql("SELECT name FROM parquetFile WHERE age >= 13 AND age <= 19")
teenagers.map(t => "Name: " + t(0)).collect().foreach(println)

让我先保证,在我来问之前,我已经搜索了我所有的问题,但没有找到合适的结果,因为我以前也有过类似的经历。我的问题是:
它们之间有什么区别 import sqlContext.implicits._ 以及 import spark.implicits._ 以及 import sqlContext.createDataFrame 使用中?
实际上,我以前成功地运行过该代码,但这次没有任何更改。我收到的错误消息太多,无法显示,让我显示其中的一部分:
原因:错误xj040:无法使用类加载器org.apache.spark.sql.hive.client启动数据库“metastore\u db”。isolatedclientloader$$anon$1@59fa5a39,有关详细信息,请参见下一个异常。位于org.apache.derby.iapi.error.standardexception.newexception(未知源),位于org.apache.derby.impl.jdbc.sqlexceptionfactory.wrapargsforttransportacrossdrda(未知源)。。。还有144个
我猜错误发生在 .toDF() ,却不知道为什么;
最后一个问题是,我听说了 .saveAsParquetFile() 已经不用了。那么除了使用 .write.format("parquet").save(".parquet") ?
这些问题是我遇到的真正问题,没有得到有效的解决。因此,如果你发现我可以在某处得到答案,请分享链接给我,不要把我的问题没有一个令人信服的理由。谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题