DataFrame:
在Spark中,DataFrame是一种以RDD为基础的分布式数据据集,类似于传统数据库听二维表格,DataFrame带有Schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。
. Dataset: Dataset是特定域对象中的强类型集合,它可以使用函数或者相关操作并行地进行转换等操作。每个Dataset都有一个称为DataFrame的非类型化的视图,这个视图是行的数据集。
更多相关知识可以点击原文链接
/**
* SQLContext的使用
*
*/object SQLContextApp {
def main(args: Array[String]): Unit = {
val path = args(0) //1)创建相应的context
val sqlConf = new SparkConf() //生成环境中,通过命令来指定比较好一点// sqlConf.setAppName("SQLContextApp").setMaster("local[2]")
val sc = new SparkContext(sqlConf)
val sqlContext = new SQLContext(sc)// 2)相关处理:json
val people = sqlContext.read.format("json").load(path)
people.printSchema()
people.show()// 3)关闭资源
sc.stop()
}
}
spark-submit \
--name SQLContextApp
--class com.zero.spark.SQLContextApp \
--master local[2] \
/root/lib/sqlspark-1.0.jar \
/root/app/spark-2.3.0/examples/src/main/resources/people.json
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
/**
* hiveContext的使用
*/object HiveContextApp {
def main(args: Array[String]): Unit = { //1)创建相应的context
val sqlConf = new SparkConf() //生成环境中,通过命令来指定比较好一点
// sqlConf.setAppName("SQLContextApp").setMaster("local[2]")
val sc = new SparkContext(sqlConf)
val hiveContext = new HiveContext(sc) //2)相关处理:json
hiveContext.table("emp").show() //3)关闭资源
sc.stop()
}
}
spark-submit \
--name SQLContextApp \
--jars /root/software/mysql-connector-java-5.1.27.jar \
--class com.zero.spark.HiveContextApp \
--master local[2] \
/root/lib/sqlspark-1.0.jar \
/**
* SparkSession的使用
*/object SparkSessionApp {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("SparkSessionApp").master("local[2]").getOrCreate()
val people = spark.read.format("json").load("D:/IDEAWORK/sparkdat/people.json")// val people = spark.read.json()
people.show()
spark.stop()
}
}
如果需要连接数据的话,需要添加 jdbc连接 添加依赖
<dependency>
<groupId>org.spark-project.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1.spark2</version>
</dependency>