Hadoop-HDFS-Command
view release on metacpan or search on metacpan
lib/Hadoop/HDFS/Command.pm view on Meta::CPAN
return if ! @response;
if ( $response[0] && $response[0] =~ m{ \A Found \s+ [0-9] }xms ) {
shift @response; # junk
}
my $space = q{ };
my @rv;
for my $line ( @response ) {
my($mode, $replication, $user, $group, @unknown) = split m{ \s+ }xms, $line, 5;
my @rest = map { split $space, $_ } @unknown;
my $size;
if ( $arg->{h}) {
if ( $rest[0] eq '0' || $rest[1] !~ m{ [a-zA-Z_] }xms ) {
$size = shift @rest;
}
else {
$size = join $space, shift @rest, shift @rest;
}
}
lib/Hadoop/HDFS/Command.pm view on Meta::CPAN
my @rv = $self->_capture(
$options,
$self->cmd_hdfs,
qw( dfs -du ),
( map { '-' . $_ } grep { $arg->{ $_ } } @flags ),
@{ $paths },
) or die "No output collected from -du command";
return map {
my @val = split m{ \s{2,} }xms, $_;
{
size => shift( @val ),
name => pop( @val ),
( @val ? (
disk_space_consumed => shift( @val ),
) : () ),
}
} @rv;
}
lib/Hadoop/HDFS/Command.pm view on Meta::CPAN
$self->cmd_hdfs,
qw( dfs -getfacl ),
( map { '-' . $_ } grep { $arg->{ $_ } } @flags ),
@{ $paths },
);
my %rv;
for my $line ( @response ) {
if ( my($match) = $line =~ m{ \A [#] \s+ (.*) \z }xms ) {
my($k, $v) = split m{ [:] \s+ }xms, $match, 2;
$rv{ $k } = $v;
next;
}
push @{ $rv{entries} ||= [] }, $line;
}
return \%rv;
}
sub _dfs_setfacl {
lib/Hadoop/HDFS/Command.pm view on Meta::CPAN
return $self->_split_on_newlines( $stdout );
}
sub _split_on_newlines {
my $self = shift;
my $rv = shift;
$rv =~ s{ \A \s+ }{}xms;
$rv =~ s{ \s+ \z }{}xms;
return split m{ \n+ }xms, $rv;
}
sub _log {
my $self = shift;
return if ! $self->enable_log;
my($level, $tmpl, @param) = @_;
my $msg = sprintf "[%s] %s\n", uc $level, $tmpl;
printf STDERR $msg, @param;
}
( run in 0.508 second using v1.01-cache-2.11-cpan-71847e10f99 )