20191209Spark

import java.text.SimpleDateFormat

object TimeStampTest {

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

    // 或取系统的时间戳
    val tsLong = System.currentTimeMillis()

    println(tsLong) // 1575866636495

    val sdf = new SimpleDateFormat("HH:mm:ss").format(tsLong)
    println(sdf) // 12:43:56
  }

}
import java.text.SimpleDateFormat

object TimeStampTest {

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

    // 获取系统的时间戳
    val tsLong = System.currentTimeMillis()
    //println(tsLong) // 1575871214234

    // 根据获取的时间戳 计算系统的时间
    val sdf0 = new SimpleDateFormat("HH:mm:ss").format(tsLong)
    //println(sdf0) // 14:00:14


    // 代码调试
    val sdf1 = new SimpleDateFormat("HH:mm:ss").format(1575871214234L)
    println(sdf1) // 14:00:14

    val sdf2 = new SimpleDateFormat("HH:mm:ss").format(1575871214000L)
    println(sdf2) // 14:00:14

    // 代码调试
   val sdf3 = new SimpleDateFormat("HH:mm:ss").format(1575871540720L)
    println(sdf3) // 14:05:40

    val sdf4 = new SimpleDateFormat("HH:mm:ss").format(1575871540000L)
    println(sdf4) // 14:05:40

  }
}
package mby00

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.streaming.OutputMode
import org.apache.spark.sql.types.{StringType, StructType}

// Streaming DataFrames可以与静态 DataFrames连接,
// 以创建新的Streaming DataFrames。 例如下面的例子:
// 测试
// 直接main
// ok
object SparkStructuredStreamingForJoinOptTest {

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

    val sparkSession = SparkSession
      .builder()
      .appName("")
      .master("local[*]")
      .getOrCreate()

    // 基于静态文件创建DataFrame
    val fileDataFrame = sparkSession
      .read
      .format("json")
      .load("D:\\IntelliJ IDEA 2018.2.5\\IEDAMBY\\sparksql-day2\\src\\main\\resources\\SQLSaveOptWithJSONTest")

    // 基于流数据创建DataFrame
    val streamingDataFrame = sparkSession
      .readStream
      .format("csv")
      .schema(
         new StructType()
          .add("id","integer")
          .add("name",StringType)
      )
      .csv("D:\\IntelliJ IDEA 2018.2.5\\IEDAMBY\\sparksql-day2\\src\\main\\resources\\SQLSaveAndLoadOptWithCSVTest1")


    // 流数据不能 join 给批数据
    // 批数据能够 join 给流数据
    // 流DF join 批DF
    streamingDataFrame.join(fileDataFrame,Seq("id","id"),"leftOuter")
      .writeStream
      .format("console")
      .outputMode(OutputMode.Append())
      .start()
      .awaitTermination()
  }
}
/**
-------------------------------------------
Batch: 0
-------------------------------------------
19/12/09 19:22:00 INFO CodeGenerator: Code generated in 11.0632 ms
19/12/09 19:22:00 INFO CodeGenerator: Code generated in 15.183 ms
+---+---+----+----+
19/12/09 19:22:00 INFO WriteToDataSourceV2Exec: Data source writer org.apache.spark.sql.execution.streaming.sources.MicroBatchWriter@2758a211 committed.
| id| id|name|name|
+---+---+----+----+
|  1|  1|  zs|mby1|
|  2|  2|  sl|mby2|
|  2|  2|  sl|mby2|
|  2|  2|  sl|mby2|
|  2|  2|  sl|mby2|
+---+---+----+----+*/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值