App-Oozie
view release on metacpan or search on metacpan
lib/App/Oozie/Deploy.pm view on Meta::CPAN
package App::Oozie::Deploy;
use 5.014;
use strict;
use warnings;
our $VERSION = '0.020'; # VERSION
use namespace::autoclean -except => [qw/_options_data _options_config/];
use App::Oozie::Constants qw(
DEFAULT_DIR_MODE
DEFAULT_FILE_MODE
EMPTY_STRING
FILE_FIND_FOLLOW_SKIP_IGNORE_DUPLICATES
MILISEC_DIV
MODE_BITSHIFT_READ
SPACE_CHAR
STAT_MODE
TERMINAL_INFO_LINE_LEN
WEBHDFS_CREATE_CHUNK_SIZE
);
use Cwd 'abs_path';
use Moo;
use MooX::Options prefer_commandline => 0,
protect_argv => 0,
usage_string => <<'USAGE',
Usage: %c %o
Deploys workflows to HDFS. Specifying names as final arguments will upload only those
USAGE
;
use App::Oozie::Deploy::Template;
use App::Oozie::Deploy::Validate::Spec;
use App::Oozie::Types::Common qw( IsDir IsFile );
use App::Oozie::Util::Misc qw( resolve_tmp_dir trim_slashes );
use App::Oozie::Constants qw( OOZIE_STATES_RUNNING );
use Carp ();
use Config::Properties;
use Config::General ();
use DateTime::Format::Strptime;
use DateTime;
use Email::Valid;
use Fcntl qw( :mode );
use File::Basename qw( basename dirname );
use File::Find ();
use File::Find::Rule;
use File::Spec;
use File::Temp ();
use List::MoreUtils qw( uniq );
use List::Util qw( max );
use Path::Tiny qw( path );
use Ref::Util qw( is_arrayref is_hashref );
use Sys::Hostname ();
use Template;
use Text::Glob qw(
match_glob
glob_to_regex
);
use Time::Duration qw( duration_exact );
use Time::HiRes qw( time );
use Types::Standard qw(
ArrayRef
CodeRef
StrictNum
Str
);
with qw(
App::Oozie::Role::Log
App::Oozie::Role::Fields::Common
App::Oozie::Role::NameNode
App::Oozie::Role::Git
App::Oozie::Role::Meta
App::Oozie::Role::Info
);
option write_ownership_to_workflow_xml => (
is => 'rw',
default => sub { 1 },
doc => 'Populate the meta file into workflow.xml? This option is temporary while testing',
);
option hdfs_dest => (
is => 'rw',
format => 's',
doc => 'HDFS destination (default is <default_hdfs_destination>/<name>)',
);
option keep_deploy_path => (
is => 'rw',
short => 'keep',
doc => 'Keep the temp files at the end of deployment',
);
option prune => (
is => 'rw',
short => 'p',
doc => 'Prune obsolete files on HDFS',
);
option sla => (
( run in 0.982 second using v1.01-cache-2.11-cpan-5a3173703d6 )