栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

关于大数据spark的Hive集群到Hive集群的方案

关于大数据spark的Hive集群到Hive集群的方案

object names {
    def main(args: Array[String]): Unit = {
        saveAsCsv()
        readCsvToHive()
    }

    //csv转成Hive表
    def readCsvToHive(): Unit = {
        val spark = SparkSession
                .builder()
                .appName("name1")
                .config("hive.metastore.uris", "目标集群")
                .enableHiveSupport()
                .getOrCreate()
        spark.sparkContext.setLogLevel("WARN")

        spark.read
                .options(Map("delimiter" -> "~", "header" -> "true"))
                .csv("/tmp/app_download_detail")
                .withColumn("create_time", from_unixtime(col("create_time"), "yyyy-MM-dd HH:mm:ss"))
                .withColumn("etl_created_time", from_unixtime(unix_timestamp(), "yyyy-MM-dd HH:mm:ss"))
                .write
                .mode("overwrite")
                .format("parquet")
                .saveAsTable("dwd.dwd_bury_app_download_detail_dd")

        spark.close()
    }

    //保存为CSV文件
    def saveAsCsv(): Unit = {
        val spark = SparkSession
                .builder()
                .master("local[4]")
                .appName("bury app download 01")
                .config("hive.metastore.uris", "源集群")
                .enableHiveSupport()
                .getOrCreate()
        spark.sparkContext.setLogLevel("WARN")
        import spark.implicits._

        val df = spark.read.table("表名")
                .repartition(4)
                .write
                .mode("overwrite")
                .format("csv")
                .option("sep", "~")
                .option("header", "true")
                .csv("/tmp/app_download_detail")

        spark.close()
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号