(2)SparkSql创建表
1.caseclass
2.SparkSession对象 sparkcontext
3.读取一个带格式的文件 json
(1)创建表并且将其转换为RDD对象化
case class Emp(
empno:Iny,
ename:String,
job:String,
mgr:String,
)
//RDD创建
val lines = sc.testfile("/root/tools/temp/csv/emp.csv").map(_.split(","))
val allEmp = lines.map(x=>Emp(x(0).toInt,x(1),x(2),x(3),x(4),x(5).toInt,x(6),x(7).toInt))
val empDF = allEmp.toDF
创建DataFrame
//创建表结构
val myschema = StructType(List(StructField("empno", DataTypes.IntegerType), StructField("ename", DataTypes.StringType),StructField("job", DataTypes.StringType),StructField("mgr", DataTypes.StringType),StructField("hiredate", DataTypes.StringType),StructField("sal", DataTypes.IntegerType),StructField("comm", DataTypes.StringType),StructField("deptno", DataTypes.IntegerType)))
//每行数据映射row一个对象
val rowRDD =lines.map(x=>Row(x(0).toInt,x(1),x(2),x(3),x(4),x(5).toInt,x(6),x(7).toInt))
//创建这张表
val df = spark.createDataFrame(rowRDD,myschema)
//操作dataFrame
df.show
df.printSchema