小编Tia*_*nyj的帖子

HBase REST过滤器(SingleColumnValueFilter)

我无法弄清楚如何在HBase REST接口(HBase 0.90.4-cdh3u3)中使用过滤器.文档只给我一个"字符串"的模式定义,但没有说明如何使用它.

所以,我能够这样做:

curl -v -H 'Content-Type: text/xml' -d '<Scanner startRow="ddo" stopRow="ddp" batch="1024"/>' 'http://hbasegw:8080/table/scanner'
Run Code Online (Sandbox Code Playgroud)

然后检索

curl -s -H "Content-Type: text/xml" http://hbasegw:8080/table/scanner/13293426893883128482b | tidy -i -q -xml
Run Code Online (Sandbox Code Playgroud)

但是现在我想使用SingleColumnValueFilter并且必须以某种方式在XML中进行编码.有没有人有这方面的例子?

谢谢,马里奥

xml rest hadoop hbase stargate

38
推荐指数
1
解决办法
7581
查看次数

如何创建一个在Ruby中扮演假的对象

我想做这个

lol = Klass.new(values)

unless lol 
   print "false"
end

lol.other_method  # it is not nil or false, it is a Klass instance!
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,lol不是零或假,而是一个基于某种内在价值可以作为假的对象.我有这个选择

lol = Klass.new(values)

unless lol.to_bool
   print "false"
end
Run Code Online (Sandbox Code Playgroud)

但它是丑陋的恕我直言.

我在想扩展FalseClass或玩==但没有成功.有任何想法吗?

ruby

12
推荐指数
2
解决办法
1139
查看次数

8
推荐指数
1
解决办法
5万
查看次数

C++构造函数基于参数类型调用另一个构造函数

我有这门课

class XXX {
    public:
        XXX(struct yyy);
        XXX(std::string);
    private:
        struct xxx data;
};
Run Code Online (Sandbox Code Playgroud)

第一个构造函数(使用结构)很容易实现.第二个我可以以特定格式分开一个字符串,解析并且我可以提取相同的结构.

我的问题是,在java中我可以这样做:

XXX::XXX(std::string str) {

   struct yyy data;
   // do stuff with string and extract data
   this(data);
}
Run Code Online (Sandbox Code Playgroud)

使用this(params)调用另一个构造函数.在这种情况下,我可以类似的东西?

谢谢

c++

5
推荐指数
1
解决办法
3248
查看次数

同时具有接口和实现的 Golang 泛型

我正在尝试编写以下函数:

\n
func Fill[X any](slice []*X){\n   for i := range slice {\n      slice[i] = new(X)\n   }\n}\n\nxs := make([]*int, 10) // fill with nils\nFill(xs) // now fill with new(int)\n
Run Code Online (Sandbox Code Playgroud)\n

这工作正常,但是\xe2\x80\xa6 如果我想使用一部分接口并提供具体类型?

\n
func Fill[X, Y any](slice []X){\n   for i := range slice {\n      slice[i] = new(Y) // not work!\n   }\n}\n\nxs := make([]sync.Locker, 10) // fill with nils\nFill[sync.Locker,sync.Mutex](xs) // ouch\n\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了一些组合没有成功,有没有办法或者go1.18不支持这样的关系?

\n

generics go

5
推荐指数
1
解决办法
4730
查看次数

Socket recv,sysread和Posix :: read在套接字中的区别?

我发现至少有3种方法可以从perl中的非阻塞套接字中读取

$socket->recv
$socket->sysread
POSIX::read($socket,...
Run Code Online (Sandbox Code Playgroud)

看起来像3个不同的名字到同一个东西,我读了文件,但我找不到一个巨大的不同.任何人?

perl

3
推荐指数
1
解决办法
1253
查看次数

为什么我不能通过typeglob访问词法变量?

我不明白为什么下面的例子失败了(测试2).为什么我无法从*bb glob访问变量bb?

use Test::More tests => 4;

$aa = 1;
my $bb = 2;   # HERE!
local $cc = 3;
our $dd = 4;

is(${*aa}, 1, "$ \*aa should be 1");
is(${*bb}, 2, "$ \*bb (my) should be 2");
is(${*cc}, 3, "$ \*cc (local) should be 3");
is(${*dd}, 4, "$ \*dd (our) should be 4");
Run Code Online (Sandbox Code Playgroud)

输出是

1..4
ok 1 - *aa should be 1
#   Failed test '*bb (my) should be 2'
#   at untitled line 10.
#          got: undef …
Run Code Online (Sandbox Code Playgroud)

perl

3
推荐指数
1
解决办法
121
查看次数

perl,使用IO :: Select和IO :: Socket :: INET读取阻塞

这台服务器工作正常,但如果我这样做

bash $(echo -n"abcd"; sleep 50; echo"efgh")| nc localhost 9090

服务器阻塞50秒.在我的完整代码中,我有多个IO::Select::INET.我有另一个套接字侦听其他端口(1234),当服务器被睡眠阻塞时,我无法处理该端口中的任何内容.我试图改变getline通过getc,但我只看过的第一个字母"a"和它的块.

有人可以帮帮我吗?

use common::sense;
use IO::Select;
use IO::Socket;

use constant PORT1 => 9090;
use constant TIMEOUT => 1;

my $event_socket  = new IO::Socket::INET(Listen => 1, LocalPort => PORT1, ReuseAddr => 1) 
    or die "Can't bind event_socket: $@\n";

my $sel = IO::Select->new;
$sel->add($event_socket);

my $event_emiter = undef;

while(1){ 
    foreach my $sock (my @ready = $sel->can_read(TIMEOUT)) {
        if ($sock == $event_socket) {
            my $new = $event_socket->accept; …
Run Code Online (Sandbox Code Playgroud)

unix sockets perl nonblocking

2
推荐指数
1
解决办法
4357
查看次数

Perl - 网络 - 如何处理超过128个套接字SOMAXCONN?

我讨厌这种情况(MACOSX)

$ perl -MSocket -le 'print SOMAXCONN'
128
Run Code Online (Sandbox Code Playgroud)

如何处理超过128个插槽?我正在使用IO :: Socket :: INET(此时与IO :: Select多路复用)但我有这个限制.

我正在考虑前叉N进程(每个处理128使用select或poll)但我不知道它是否可以工作.一些想法?

perl nonblocking

2
推荐指数
1
解决办法
365
查看次数

如何在perl中将字节数组转换为int64

我在 Perl 5 中有一个特定问题要解决(使用最少的外部依赖项,如果可能与版本 5.12 兼容),与解码这样的字节数组有关:

my @data = (0x00, 0x00, 0x00, 0x03, 0x84, 0x14, 0x40, 0x32);
Run Code Online (Sandbox Code Playgroud)

我想提取这样的数字:15100821554

我尝试了几种打包/解包的变体,但没有成功

say(unpack("Q", pack("C*", @data)));
Run Code Online (Sandbox Code Playgroud)

打印 3620916657624449024

go中的等效代码是这样的

data := []byte{0x00, 0x00, 0x00, 0x03, 0x84, 0x14, 0x40, 0x32}
deciseconds := int64(binary.BigEndian.Uint64(data))
Run Code Online (Sandbox Code Playgroud)

可以在这里执行:https : //play.golang.org/p/I2J45H-sn-H

有任何想法吗?

perl

2
推荐指数
1
解决办法
55
查看次数

标签 统计

perl ×5

nonblocking ×2

c++ ×1

generics ×1

go ×1

google-plus ×1

hadoop ×1

hbase ×1

rest ×1

ruby ×1

sockets ×1

stargate ×1

unix ×1

xml ×1