当前位置:   article > 正文

Delta lake with Java--利用spark sql操作数据2

Delta lake with Java--利用spark sql操作数据2

上一篇文章尝试了建库,建表,插入数据,还差删除和更新,所以在这篇文章补充一下,代码很简单,具体如下:

  1. import org.apache.spark.sql.SaveMode;
  2. import org.apache.spark.sql.SparkSession;
  3. public class DeltaLakeWithSparkSql2 {
  4. public static void main(String[] args) {
  5. SparkSession spark = SparkSession.builder()
  6. .master("local[*]")
  7. .appName("delta_lake")
  8. .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
  9. .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
  10. .getOrCreate();
  11. String sourcePath="D:\\bookcode\\delta-lake-up-and-running-main\\data\\YellowTaxi\\";
  12. var df = spark.read().format("parquet").load(sourcePath);
  13. System.out.println("总数据量:"+df.count());
  14. df.write().format("delta").mode(SaveMode.Overwrite).save("file:///D:\\\\bigdata\\\\detla-lake-with-java\\\\YellowTaxi");
  15. spark.sql("CREATE DATABASE IF NOT EXISTS taxidb");
  16. spark.sql("CREATE TABLE IF NOT EXISTS taxidb.YellowTaxi USING DELTA LOCATION 'file:///D:\\\\bigdata\\\\detla-lake-with-java\\\\YellowTaxi'");
  17. spark.sql("DESCRIBE TABLE taxidb.YellowTaxi").show(false);
  18. spark.sql("SELECT COUNT(*) from taxidb.YellowTaxi WHERE VendorID>0").show(false);
  19. spark.sql("SELECT * from taxidb.YellowTaxi WHERE tpep_pickup_datetime='2021-01-01 00:30:10'").show(false);
  20. spark.sql("DELETE FROM taxidb.YellowTaxi WHERE tpep_pickup_datetime='2021-01-01 00:30:10'").show(false);
  21. spark.sql("SELECT * from taxidb.YellowTaxi WHERE tpep_pickup_datetime='2021-01-01 00:30:10'").show(false);
  22. spark.sql("DESCRIBE HISTORY taxidb.YellowTaxi").show(false);
  23. spark.sql("SELECT INPUT_FILE_NAME(), * from taxidb.YellowTaxi WHERE tpep_pickup_datetime='2022-01-01 00:35:40'").show(false);
  24. spark.sql("UPDATE taxidb.YellowTaxi SET passenger_count=99 WHERE tpep_pickup_datetime='2022-01-01 00:35:40'").show(false);
  25. spark.sql("SELECT INPUT_FILE_NAME(), * from taxidb.YellowTaxi WHERE tpep_pickup_datetime='2022-01-01 00:35:40'").show(false);
  26. spark.sql("DESCRIBE HISTORY taxidb.YellowTaxi").show(false);
  27. }
  28. }

里面涉及的数据集YellowTaxi,在如下地址下载,这个也是Delta Lake Up and Runing的配套仓库

GitHub - benniehaelen/delta-lake-up-and-running: Companion repository for the book 'Delta Lake Up and Running'

具体运行结果如下,没有什么需要注意的,纯粹就是输入一下代码,验证一下结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/526914
推荐阅读
相关标签
  

闽ICP备14008679号