zoukankan      html  css  js  c++  java
  • Spark 写Hive指定动态分区

    1、设置

       SparkSession.Builder builder = SparkSession
                    .builder()
                    .config(conf)
                    .master("yarn")
                    .config("hive.exec.dynamici.partition", true)
                    .config("hive.exec.dynamic.partition.mode", "nonstrict")
                    .appName(taskName)
                    .enableHiveSupport();
    

      

    2、sql
      

      /**
         * 同步数据到clickhouse
         * 按照日期分区
         *
         * @param dataFrame
         */
        private void sinkToHive(Dataset<Row> dataFrame) {
            dataFrame.createOrReplaceTempView("soh_tmp");
            String selectSql = "select " + getSelectHiveColumn() + " from soh_tmp";
            String sql = "INSERT INTO TABLE d_vehicle_data_charging_u_d partition(part_key) " + selectSql;
            sparkSession.sql(sql);
        }
    
        /**
         * @return
         */
        private String getSelectHiveColumn() {
            return
                    "vin,\n" +
                            "batch,\n" +
                            "tbox_type,\n" +
                            "collect_time,\n" +
                            "`current_timestamp` AS receive_time,\n" +
                            "battery_voltage_data,\n" +
                            "battery_temp_data,\n" +
                            "charging_status,\n" +
                            "total_current,\n" +
                            "battery_soc,\n" +
                            "max_temp,\n" +
                            "min_temp,\n" +
                            "partition_key,\n" +
                            "total_mileage,\n" +
                            "max_cell_voltage,\n" +
                            "min_cell_voltage,\n" +
                            "level_alarm,\n" +
                            "max_voltage_bat_sys_no,\n" +
                            "max_voltage_bat_cell_no," +
                            "mix_voltage_bat_sys_no,\n" +
                            "min_voltage_bat_cell_no,\n" +
                            "vehicle_status,\n" +
                            "insulation_resistance,\n" +
                            "insulation_Alarm, " +
                            "`current_timestamp`() as create_time,\n" +
                            " partition_key as part_key\n"
                    ;
        }
    

      



  • 相关阅读:
    PPP协议 PAP认证
    交换机广播风暴,STP生成树协议,端口聚合
    传统远程注入线程,加载DLL
    EXE和DLL调用关系,DLL制作,钩子
    window bat批处理 实用脚本
    python利用scapy嗅探流量
    关于AWD线下攻防的经验
    APP 仿微信登录
    价值1500左右的毕业设计都开源啦
    EOS2.0环境搭建-centos7
  • 原文地址:https://www.cnblogs.com/irobotzz/p/15561140.html
Copyright © 2011-2022 走看看