监控目录中文件上传HDFS中

简介: 代码实例package oa.epoint.com.watchFile;import java.util.Date;import java.

代码实例

package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 文件监控之定时器
 */
public class FileScheduler {
    //定时器设置
    private final Timer timer;
    //构造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //设置守护线程
    public FileScheduler(boolean isDaemon){  
        // 是否为守护线程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 为定时器分配可执行任务 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新执行任务 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止当前定时器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止当前定时器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 执行指定任务  
            task.run();  
            // 继续重复执行任务  
            reSchedule(task, step);  
        }  
    } 
}
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 文件监控之定时器
 */
public class FileScheduler {
    //定时器设置
    private final Timer timer;
    //构造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //设置守护线程
    public FileScheduler(boolean isDaemon){  
        // 是否为守护线程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 为定时器分配可执行任务 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新执行任务 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止当前定时器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止当前定时器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 执行指定任务  
            task.run();  
            // 继续重复执行任务  
            reSchedule(task, step);  
        }  
    } 
}
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 文件监控之定时器
 */
public class FileScheduler {
    //定时器设置
    private final Timer timer;
    //构造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //设置守护线程
    public FileScheduler(boolean isDaemon){  
        // 是否为守护线程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 为定时器分配可执行任务 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新执行任务 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止当前定时器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止当前定时器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 执行指定任务  
            task.run();  
            // 继续重复执行任务  
            reSchedule(task, step);  
        }  
    } 
}
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 文件监控之定时器
 */
public class FileScheduler {
    //定时器设置
    private final Timer timer;
    //构造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //设置守护线程
    public FileScheduler(boolean isDaemon){  
        // 是否为守护线程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 为定时器分配可执行任务 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新执行任务 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的时间 time 执行指定的任务 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止当前定时器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止当前定时器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 执行指定任务  
            task.run();  
            // 继续重复执行任务  
            reSchedule(task, step);  
        }  
    } 
}
目录
相关文章
|
3月前
|
Shell
Shell遍历HDFS路径统计层级目录大小
Shell遍历HDFS路径统计层级目录大小
|
5月前
|
存储 监控
63 Flume采集目录到HDFS
63 Flume采集目录到HDFS
33 0
|
6月前
|
分布式计算 Hadoop 大数据
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
75 0
|
10月前
|
存储 大数据
大数据数据存储的分布式文件系统的HDFS的基本使用的命令行接口的删除文件/目录
在 Hdfs 中,使用命令行接口可以方便地对数据进行操作。
80 1
|
存储 缓存 监控
Apache Flume- 案例-监控采集文件夹变化(sqoopdir、HDFS)|学习笔记
快速学习 Apache Flume- 案例-监控采集文件夹变化(sqoopdir、HDFS)
230 0
Apache Flume- 案例-监控采集文件夹变化(sqoopdir、HDFS)|学习笔记
|
分布式计算 Hadoop API
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
|
分布式计算 Hadoop API
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
参数优先级排序:(1)客户端代码中设置的值 >(2)在项目资源目录下的用户自定义配置文件(如在resources下创建的hdfs-site.xml,可以看上面的过程) >(3)服务器的自定义配置(hdfs-site.xml) >(4)服务器的默认配置(hdfs-default.xml)、CRC文件是一个校验文件,保证文件传输完整、对文件名称的修改、文件的更名和移动、目录更名、删除文件、删除空目录、删除非空目录、如果执行上面代码,下载不了文件,有可能是你电脑的微软支持的运行库少,需要安装一下微软运行库。...
189 1
Hadoop中HDFS的API操作、HDFS文件上传(测试参数优先级)、copyFromLocalFile参数解读、HDFS文件下载、文件更名和移动、删除文件和目录、文件详情查看、文件和文件夹判断
|
SQL 关系型数据库 MySQL
HIVE HDFS 同步到MYSQL里,在HIVE里存为目录的分区键的如何同步呢?
请教下 ,HIVE HDFS 同步到MYSQL的时候,如果在源端HIVE里是分区表,分区字段要这么同步到目标端MYSQL呢
141 1
HIVE HDFS 同步到MYSQL里,在HIVE里存为目录的分区键的如何同步呢?
|
数据采集 开发者
实时读取目录文件到 HDFS 案例分析 | 学习笔记
快速学习实时读取目录文件到HDFS案例分析。
实时读取目录文件到 HDFS 案例分析 | 学习笔记