小编Suv*_*yil的帖子

Shell脚本变量不为空(-z选项)

如何通过选项确保变量不为-z

errorstatus="notnull"
if [ !-z $errorstatus ]
then
   echo "string is not null"
fi
Run Code Online (Sandbox Code Playgroud)

它返回错误:

./test: line 2: [: !-z: unary operator expected
Run Code Online (Sandbox Code Playgroud)

shell

54
推荐指数
2
解决办法
15万
查看次数

如何将子shell的输出文件描述符重定向到父shell中的输入文件描述符?

(在BASH中)我希望子shell使用非STDOUT非STDERR文件描述符将一些数据传递回父shell.我怎样才能做到这一点?最终我希望将数据保存到父shell的某个变量中.

(
  # The following two lines show the behavior of the subshell.
  # We cannot change them.
  echo "This should go to STDOUT"
  echo "This is the data I want to pass to the parent shell" >&3
)
#...
data_from_subshell=... # Somehow assign the value of &3 of the
                       # subshell to this variable
Run Code Online (Sandbox Code Playgroud)

编辑:子shell运行一个写入STDOUT和&3的黑盒程序.

bash shell file-descriptor

29
推荐指数
2
解决办法
3万
查看次数

在C++中是文字0xffffffff int还是unsigned

根据这个,没有类型后缀的整数文字总是ints.但是,gcc和clang都解释0xffffffff(或者除了使用之外明确设置符号位的任何文字-)作为无符号.哪个是对的?(根据这个编译器是)

c++ integer literals

24
推荐指数
1
解决办法
1879
查看次数

if/else在什么阶段比开关盒更好?可以?

据我所读,我可以总结一下,

  • Switch case是实现定义的,但主要定义为跳转表
  • Switch case使代码更具可读性
  • 开关比if/elseif(?)快

考虑一下我有300多个开关盒的情况.我知道if/elseif在这个场景中会是一团糟.

但我想知道switch案件在这样的场景中会如何表现?

  • 它是否具有可扩展性,即无论存在多少个案例,它仍然比if/else更快?
  • 由于它是实现定义的,我如何弄清楚我的编译器是如何实现它的?
  • 最重要的是我如何做到这一点if/elseif- switch除了实际编写代码和使用分析器之外的比较?我尝试.c使用gcc 4.8.1 -Sswitch来编译带有switch case 的小文件,它看起来像是一个跳转表.我从哪里开始?
  • if/elseif在这种情况下使用是更好/更糟

我主要对C/C++的具体细节感兴趣

c c++ performance switch-statement

21
推荐指数
2
解决办法
2018
查看次数

MYSQL如何在select查询中使用trim

我的桌子有50左右的记录,

在表中我有列调用USERNAME,但一些用户名前导和尾随有空格,

所以由于空白,我没有得到确切的订单结果,

那么告诉我如何在SELECT查询中使用trim ,

谢谢

mysql sql string

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

从Hadoop删除文件/文件夹

我在分析日志文件的数据管道中运行EMR活动,当我的管道发生故障时,我收到以下错误:

Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://10.208.42.127:9000/home/hadoop/temp-output-s3copy already exists
    at org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:121)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:944)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:905)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:905)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:879)
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1316)
    at com.valtira.datapipeline.stream.CloudFrontStreamLogProcessors.main(CloudFrontStreamLogProcessors.java:216)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:187)
Run Code Online (Sandbox Code Playgroud)

如何从Hadoop中删除该文件夹?

hadoop amazon-s3 amazon-web-services elastic-map-reduce

17
推荐指数
4
解决办法
6万
查看次数

将参数传递给Hadoop映射器

我正在使用新的Hadoop API并寻找一种方法将一些参数(少量字符串)传递给映射器.
我怎样才能做到这一点?

此解决方案适用于旧API:

JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);
Run Code Online (Sandbox Code Playgroud)

这里," NumberOfDocuments"是参数的名称,其值是args[0]从命令行参数" " 读取的.设置此参数后,可以在reducer或mapper中检索其值,如下所示:

private static Long N;
public void configure(JobConf job) {
     N = Long.parseLong(job.get("NumberOfDocuments"));
}
Run Code Online (Sandbox Code Playgroud)

注意,棘手的部分是你不能设置这样的参数:

Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);
Run Code Online (Sandbox Code Playgroud)

hadoop mapreduce

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

打印分段故障原因

假设我有一个导致分段错误的代码.

char * ptr = NULL;
*ptr = "hello"; /* this will cause a segmentation fault */
Run Code Online (Sandbox Code Playgroud)

如何在运行时打印,内存中发生分段错误的地址,以及分段错误的原因(访问禁止的内存区域或其他内容).

我读到了关于核心转储文件,但我不确定它是否是正确的解决方案.

我怎样才能做到这一点?

PS,我知道我可以通过使用gdb或其他调试器实现这一点,但目的是通过使用代码和仅代码来实现.

c unix linux segmentation-fault

11
推荐指数
1
解决办法
9457
查看次数

oozie如何处理依赖关系?

我有几个关于oozie 2.3共享库的问题:

目前,我在coordinator.properties中定义了共享库:

oozie.use.system.libpath=true 
oozie.libpath=<hdfs_path>
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 共享库被复制到其他数据节点时,有多少数据节点将获得共享库?

  2. 共享库是根据协调器作业中的wf数复制到其他数据节点还是每个协调器作业只复制一次?

hadoop oozie oozie-coordinator

9
推荐指数
1
解决办法
5359
查看次数

Hive:SELECT AS和GROUP BY

我有一个Hive查询

SELECT Year, Month, Day, Hours, Minutes,
           cast((cast(Seconds as int)/15) as int)*15
AS secondMod, Count(*) AS PerCount FROM LoggerTable 
 GROUP BY Year, Month, Day, Hours, Minutes, secondMod 
ORDER BY PerCount;
Run Code Online (Sandbox Code Playgroud)

上述查询失败并显示错误

FAILED:语义分析出错:第1行:175无效表别名或列引用secondMod

'LoggerTable'是一个包含所有字符串类型列的Hive表.

针对此问题的任何解决方法?

hadoop hive

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