我对Pig不熟悉。在Pig的剧本里,我可以这样做:
fs -ls
返回:
drwx------ - user group 0 2013-08-28 00:00 .Trash drwx------ - user group 0 2013-08-02 19:19 .staging ... ... ...
有没有办法让我粗略估计一下考试的结果 fs -ls 变成元组?
b4lqfgs41#
使用javajar,您可以很容易地完成这些事情:首先,您应该在目录外创建序列文件。然后在加载程序中,您应该像下面这样放置代码。然后使用这个加载程序加载序列文件,结果将如预期的那样。在(loader的)getnext方法中,您应该根据自己的目的编写这样的代码
ProcessBuilder scanProcess = new ProcessBuilder("strings",file_name); final Process process = scanProcess.start(); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line,resLine=""; while ((line = br.readLine()) != null) { if(!line.isEmpty()) { resLine += line; } } protoTuple.add(resLine); return tupleFactory.newTuple(protoTuple);
命令执行的结果将存储在resline中。对于传递命令行参数,您可以浏览processbuilder并处理更多信息
1条答案
按热度按时间b4lqfgs41#
使用javajar,您可以很容易地完成这些事情:首先,您应该在目录外创建序列文件。然后在加载程序中,您应该像下面这样放置代码。然后使用这个加载程序加载序列文件,结果将如预期的那样。
在(loader的)getnext方法中,您应该根据自己的目的编写这样的代码
命令执行的结果将存储在resline中。对于传递命令行参数,您可以浏览processbuilder并处理更多信息