我刚开始学习hadoop(CentOS7),这里有一个关于环境变量的问题:
在我的虚拟机中,rxie 是登录用户:HADOOP_CONF_DIR = /opt/hadoop/hadoop-2.7.2/etc/rxie
没有 /opt/hadoop/hadoop-2.7.2/etc/rxie 的路径,它应该是 /opt/hadoop/hadoop-2.7.2/etc/hadoop
我试图找出变量的定义位置,以便我可以更正它。这是我的想法:
bash-4.2# grep -r HADOOP_CONF_DIR ~/.*
/root/./.bashrc:export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
Run Code Online (Sandbox Code Playgroud)
请注意 HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 是正确的。
我没有看到错误的 HADOOP_CONF_DIR 定义在哪里?
如果有人能启发我并提供修复方案,我将不胜感激,非常感谢。
在初始化集合(如TreeMap,TreeSet等)时,我们可以添加自定义比较器。该代码如下所示:
Map<Integer, String> map1 = new TreeMap<>(new Comparator<Integer>() {
public int compare(Integer x, Integer y) {
return x-y;
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我们可以用lambda表达式替换此匿名实现。代码如下所示:
Map<Integer, String> map2 = new TreeMap<>((x,y) -> x-y);
Run Code Online (Sandbox Code Playgroud)
Java-8允许您通过功能接口将lambda表达式存储在变量中。因此,我将上面的代码修改为以下代码:
BiFunction<Integer, Integer, Integer> myComparator = (x,y) -> x-y;
Map<Integer, String> map3 = new TreeMap<>(myComparator);
Run Code Online (Sandbox Code Playgroud)
但是最后一次尝试没有用!它给出了以下错误:
无法推断TreeMap <>的类型参数
为什么在上一个示例中无法解析类型?
注意:为了确认这不是IDE错误,我使用进行了原始编译javac,但仍给出相同的错误。
我目前正在Promise.allSettled等待我所有的承诺完成(无论它们是否解决或被拒绝)。
由于我的项目符合Node v12.3.1我无法使用这个?我还可以使用哪些其他简单的替代方案。
示例代码:
async function runner() {
let promises = [];
for(let i=0; i<10; i++) {
promises.push(fetcher())
}
await Promise.allSettled(promises).then(([results]) => console.log(results.length));
console.log('continue work...');
}
Run Code Online (Sandbox Code Playgroud)
注意:Promise.allSettled 可从 获得Node version >12.9。
添加垫片也不是一种选择。
我试图更好地理解线程.如果我创建一个程序,允许人们上传照片,然后我创建一个新的过程来调整图像大小的方式(花费5秒或更长时间),主程序返回一个响应HTML页面给用户说"谢谢你已经完成了!",此时其他进程是否还能正常工作?假设我使用多处理模块和GIL线程与子进程.
bash ×1
comparator ×1
django ×1
environment ×1
es6-promise ×1
hadoop ×1
java ×1
java-8 ×1
javascript ×1
lambda ×1
node.js ×1
python ×1
variables ×1