spark学习-SparkSQL--11-scala版写的SparkSQL程序读取Hbase表注册成表SQL查询

1.我写了一个程序,读取hbase中的五个表并且做连接查询,在eclise中本地可以直接测试,没有配置文件,直接把hbase和spark的jar包拷贝进去就可以了

package sparlsql.hbase;

import org.apache.hadoop.hbase.client._
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
import org.apache.hadoop.hbase.{TableName, HBaseConfiguration}
import org.apache.hadoop.hbase.util.Bytes
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkContext, SparkConf}

import java.util.Date  

object SparkSQLOnHbase {



  def main(args: Array[String]): Unit = {


         val starttime=System.nanoTime   


        // 本地模式运行,便于测试
        val sparkConf = new SparkConf().setMaster("local").setAppName("HBaseTest")

        // 创建hbase configuration
        val hBaseConf = HBaseConfiguration.create()
        hBaseConf.set("hbase.zookeeper.property.clientPort", "2181");  
        hBaseConf.set("hbase.zookeeper.quorum", "192.168.10.82"); 
        //var con = ConnectionFactory.createConnection(hBaseConf)

        //var table = con.getTable(TableName.valueOf(""))

       hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_mycase")

        // 创建 spark context
        val sc = new SparkContext(sparkConf)
        val sqlContext = new SQLContext(sc)
        import sqlContext.implicits._

        // 从数据源获取数据
        var hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])

        // 将数据映射为表  也就是将 RDD转化为 dataframe schema
        val mycase = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_rcode"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_cate"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_end_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_name"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_mark")))

        )).toDF("c_code","c_rcode","c_region","c_cate","c_start","c_end","c_start_m","c_end_m","c_name","c_mark")

        mycase.registerTempTable("mycase")




       hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_pcase")
       hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
       val pcase = hbaseRDD.map(r=>(
          Bytes.toString(r._2.getValue(Bytes.toBytes("pcase_lizu"),Bytes.toBytes("p_code"))),
          Bytes.toString(r._2.getValue(Bytes.toBytes("pcase_lizu"),Bytes.toBytes("p_status")))
       )).toDF("p_code","p_status")
       pcase.registerTempTable("p_case")


        hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_crimeman")
        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
         val crimeman = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("cm_lizu"),Bytes.toBytes("m_acode"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("cm_lizu"),Bytes.toBytes("m_pcode")))
        )).toDF("m_acode","m_pcode")

        crimeman.registerTempTable("crimeman")




         hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_wb")
        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
         val wb = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_id"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_wname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_address"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_uname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_end_m")))
        )).toDF("w_id","w_region","w_wname","w_address","w_uname","w_code","w_start","w_end","w_start_m","w_end_m")

        wb.registerTempTable("wb")


        hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_hotel")

        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
        val hotel = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_id"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_hname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_address"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_uname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_end_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_homecode")))
        )).toDF("h_id","h_region","h_hname","h_address","h_uname","h_code","h_start","h_end","h_start_m","h_end_m","h_homecode")

        hotel.registerTempTable("hotel")



        // 测试
        val df5 = sqlContext.sql("select c_code,c_cate,c_name,c_region,c_start,c_end,p_status,w_region,w_wname,w_uname,w_code,w_address,w_start,w_end from mycase  inner join p_case on mycase.c_code=p_case.p_code  inner join wb on mycase.c_rcode=wb.w_region where p_status !='破案状态'  and    ( c_start_m - 86400000 * 1 )< w_start_m  and   w_end_m < ( c_start_m + 86400000 * 1 ) limit 100")
        df5.show(100)
        //println(df5.count())
       // df5.collect().foreach(print(_))




        val endtime=System.nanoTime  
        val delta=endtime-starttime  
        println(delta/1000000000)  

  }

}

运行结果是正确的,但是效率实在是太低下了,因为是本地运行。想让他集群运行测试

package sparlsql.hbase;

import org.apache.hadoop.hbase.client._
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
import org.apache.hadoop.hbase.{TableName, HBaseConfiguration}
import org.apache.hadoop.hbase.util.Bytes
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkContext, SparkConf}

import java.util.Date  

object SparkSQLOnHbase {



  def main(args: Array[String]): Unit = {

       /* System.setProperty("hadoop.home.dir", "E:\\02-hadoop\\hadoop-2.7.3\\");
        System.setProperty("hadoop_conf_dir", "E:\\02-hadoop\\hadoop-2.7.3\\etc\\hadoop\\");
        System.setProperty("HADOOP_USER_NAME", "root"); 
        System.setProperty("spark.home.dir", "E:\\002-spark\\spark-2.1.1-bin-hadoop2.7\\");
        System.setProperty("spark.serializer", "org.apache.spark.serializer.KryoSerializer");*/

        val starttime=System.nanoTime   

        // 这里怎么设置master,都会出错,最后不设置,直接打包运行就可以了
        // val sparkConf = new SparkConf().setMaster("yarn").setAppName("HBaseTest")
        //  val sparkConf = new SparkConf().setMaster("spark://bigdata02.hzjs.co:7077").setAppName("HBaseTest")
        //val sparkConf = new SparkConf().setMaster("yarn-client").setAppName("HBaseTest")
        //val sparkConf = new SparkConf().setMaster("yarn-cluster").setAppName("HBaseTest")
        //val sparkConf = new SparkConf().setMaster("yarn").setAppName("HBaseTest")
            //  val sparkConf = new SparkConf().setMaster("local").setAppName("HBaseTest")

        val sparkConf = new SparkConf().setAppName("HBaseTest")


        // 创建hbase configuration
        val hBaseConf = HBaseConfiguration.create()
        hBaseConf.set("hbase.zookeeper.property.clientPort", "2181");  
        hBaseConf.set("hbase.zookeeper.quorum", "192.168.10.82"); 
        //var con = ConnectionFactory.createConnection(hBaseConf)

        //var table = con.getTable(TableName.valueOf(""))

       hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_mycase")

        // 创建 spark context
        val sc = new SparkContext(sparkConf)
        val sqlContext = new SQLContext(sc)
        import sqlContext.implicits._

        // 从数据源获取数据
        var hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])

        // 将数据映射为表  也就是将 RDD转化为 dataframe schema
        val mycase = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_rcode"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_cate"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_end_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_name"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("case_lizu"),Bytes.toBytes("c_mark")))

        )).toDF("c_code","c_rcode","c_region","c_cate","c_start","c_end","c_start_m","c_end_m","c_name","c_mark")

        mycase.registerTempTable("mycase")




       hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_pcase")
       hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
       val pcase = hbaseRDD.map(r=>(
          Bytes.toString(r._2.getValue(Bytes.toBytes("pcase_lizu"),Bytes.toBytes("p_code"))),
          Bytes.toString(r._2.getValue(Bytes.toBytes("pcase_lizu"),Bytes.toBytes("p_status")))
       )).toDF("p_code","p_status")
       pcase.registerTempTable("p_case")


        hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_crimeman")
        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
         val crimeman = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("cm_lizu"),Bytes.toBytes("m_acode"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("cm_lizu"),Bytes.toBytes("m_pcode")))
        )).toDF("m_acode","m_pcode")

        crimeman.registerTempTable("crimeman")




         hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_wb")
        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
         val wb = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_id"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_wname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_address"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_uname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("wb_lizu"),Bytes.toBytes("w_end_m")))
        )).toDF("w_id","w_region","w_wname","w_address","w_uname","w_code","w_start","w_end","w_start_m","w_end_m")

        wb.registerTempTable("wb")


        hBaseConf.set(TableInputFormat.INPUT_TABLE,"test_lcc_hotel")

        hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,classOf[TableInputFormat],classOf[ImmutableBytesWritable],classOf[Result])
        val hotel = hbaseRDD.map(r=>(
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_id"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_region"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_hname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_address"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_uname"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_code"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_start"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_end"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_start_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_end_m"))),
            Bytes.toString(r._2.getValue(Bytes.toBytes("hotel_lizu"),Bytes.toBytes("h_homecode")))
        )).toDF("h_id","h_region","h_hname","h_address","h_uname","h_code","h_start","h_end","h_start_m","h_end_m","h_homecode")

        hotel.registerTempTable("hotel")



        // 测试
        var df1 = sqlContext.sql("select c_code,c_cate,c_name,c_start,c_end from  mycase limit 100")
        df1.show(10)
        //println(df5.count())
       // df5.collect().foreach(print(_))

        var endtime1=System.nanoTime  
        var delta=endtime1-starttime 
        println("===============1=====================")  
        println(delta/1000000000)  


  }

}

因为设置了master所以各种报错

eclipse直接运行报错
17/08/17 09:25:35 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master bigdata02.hzjs.co:7077
org.apache.spark.SparkException: Exception thrown in awaitResult
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77)
	at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:75)



17/08/17 09:51:01 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Detected yarn cluster mode, but isn't running on a cluster. Deployment to YARN is not supported directly by SparkContext. Please use spark-submit.
        at org.apache.spark.SparkContext.(SparkContext.scala:387)
        at sparlsql.hbase.SparkSQLOnHbase$.main(SparkSQLOnHbase.scala:37)



集群打包测试
SPARK_HOME/bin/spark-submit --name "lcc_sparkSql_submit" --master spark://192.168.10.83:7077 --executor-memory 1G --class sparlsql.hbase.SparkSQLOnHbase /data5/lcc_sparksql_hbase_test_data/aa.jar /data5/lcc_sparksql_hbase_test_data/logs/   /data5/lcc_sparksql_hbase_test_data/output

报错
17/08/17 09:51:01 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Detected yarn cluster mode, but isn't running on a cluster. Deployment to YARN is not supported directly by SparkContext. Please use spark-submit.
        at org.apache.spark.SparkContext.(SparkContext.scala:387)
        at sparlsql.hbase.SparkSQLOnHbase$.main(SparkSQLOnHbase.scala:37)


试验往上方法
YARN模式
修改的代码如下:
SparkConf conf = new SparkConf().setAppName("JavaWordCount").setMaster("yarn-client");
conf.set("spark.yarn.dist.files", "src\\yarn-site.xml");
将core-site.xml、hdfs-site.xml、yarn-site.xml三个文件放在项目src文件夹下,这三个文件从Hadoop集群配置文件夹中复制下来,直接run Java application就可以了。 
还是报错




设置spark本地目录还是报错
System.setProperty("hadoop.home.dir", "E:\\02-hadoop\\hadoop-2.7.3\\");
System.setProperty("hadoop_conf_dir", "E:\\02-hadoop\\hadoop-2.7.3\\etc\\hadoop\\");

java.lang.IllegalStateException: Library directory 'E:\04-scala_eclipse\01-work\hbasesparksql\assembly\target\scala-2.11\jars' does not exist; make sure Spark is built.
    at org.apache.spark.launcher.CommandBuilderUtils.checkState(CommandBuilderUtils.java:248)
    at org.apache.spark.launcher.CommandBuilderUtils.findJarsDir(CommandBuilderUtils.java:368)




最后使用如上代码不设置master,使用下面命令运行,不报错,成功

$SPARK_HOME/bin/spark-submit --name "lcc_sparkSql_submit" --master yarn --executor-memory 1G --class sparlsql.hbase.SparkSQLOnHbase /data5/lcc_sparksql_hbase_test_data/nomaster.jar  /data5/lcc_sparksql_hbase_test_data/logs/   /data5/lcc_sparksql_hbase_test_data/output

成功
ase instead use:
 - ./spark-submit with --num-executors to specify the number of executors
 - Or set SPARK_EXECUTOR_INSTANCES
 - spark.executor.instances to configure the number of instances in the spark config.

17/08/17 12:36:09 WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.
[Stage 3:======================================================>(198 + 1) / 200]
17/08/17 12:40:59 WARN DFSClient: Slow ReadProcessor read fields took 177333ms (threshold=30000ms); ack: seqno: 25 reply: SUCCESS reply: SUCCESS reply: SUCCESS downstreamAckTimeNanos: 1000737 flag: 0 flag: 0 flag: 0, targets: [DatanodeInfoWithStorage[192.168.10.82:50010,DS-1a236504-da74-4b82-9c9e-3b6e3f724678,DISK], DatanodeInfoWithStorage[192.168.10.83:50010,DS-dd8a2e2b-18fd-4de8-91df-bcb392cb8008,DISK], DatanodeInfoWithStorage[192.168.10.84:50010,DS-34b8a8b1-414e-497b-bdfd-d139338afdda,DISK]]
17/08/17 12:43:36 WARN DFSClient: Slow ReadProcessor read fields took 157115ms (threshold=30000ms); ack: seqno: 29 reply: SUCCESS reply: SUCCESS reply: SUCCESS downstreamAckTimeNanos: 1803294 flag: 0 flag: 0 flag: 0, targets: [DatanodeInfoWithStorage[192.168.10.82:50010,DS-1a236504-da74-4b82-9c9e-3b6e3f724678,DISK], DatanodeInfoWithStorage[192.168.10.83:50010,DS-dd8a2e2b-18fd-4de8-91df-bcb392cb8008,DISK], DatanodeInfoWithStorage[192.168.10.84:50010,DS-34b8a8b1-414e-497b-bdfd-d139338afdda,DISK]]
+-------+------+----------+--------+-------------------+-------------------+--------+--------+-------+-------+------+----------------+-------------------+-------------------+
| c_code|c_cate|    c_name|c_region|            c_start|              c_end|p_status|w_region|w_wname|w_uname|w_code|       w_address|            w_start|              w_end|
+-------+------+----------+--------+-------------------+-------------------+--------+--------+-------+-------+------+----------------+-------------------+-------------------+
|A102046|  杀人案件|案件名称102046|  杭州市萧山区|2566/08/17 00:00:00|2566/08/17 01:00:00|    移送起诉|       7|  网吧436|   姓名59|  U283| 杭州市萧山区xx112路94号|2566/08/17 00:00:00|2566/08/17 00:00:00|
|A102046|  杀人案件|案件名称102046|  杭州市萧山区|2566/08/17 00:00:00|2566/08/17 01:00:00|    移送起诉|       7|  网吧914|   姓名80|  U687|杭州市萧山区xx926路524号|2566/08/17 00:00:00|2566/08/17 18:00:00|
|A103790|  杀人案件|案件名称103790|  杭州市萧山区|2576/01/04 00:00:00|2576/01/04 15:00:00|    移送起诉|       7|  网吧113|   姓名56|  U728| 杭州市萧山区xx833路65号|2576/01/04 00:00:00|2576/01/04 14:00:00|
|A110867|  强奸案件|案件名称110867|  杭州市萧山区|2614/04/22 00:00:00|2614/04/22 17:00:00|    侦查终结|       7|  网吧750|   姓名83|  U717|  杭州市萧山区xx16路35号|2614/04/22 00:00:00|2614/04/22 07:00:00|
|A114483|  强奸案件|案件名称114483|  杭州市萧山区|2633/12/14 00:00:00|2633/12/14 17:00:00|    移送起诉|       7|  网吧343|   姓名63|  U119|杭州市萧山区xx364路685号|2633/12/14 00:00:00|2633/12/14 13:00:00|

你可能感兴趣的:(大数据-spark)