有没有办法只在ansible playbook中运行一个任务?
例如,在roles/hadoop_primary/tasks/hadoop_master.yml.我有"start hadoop job tracker services"任务.我可以运行那一项任务吗?
hadoop_master.yml文件:
---
# Playbook for Hadoop master servers
- name: Install the namenode and jobtracker packages
apt: name={{item}} force=yes state=latest
with_items:
- hadoop-0.20-mapreduce-jobtracker
- hadoop-hdfs-namenode
- hadoop-doc
- hue-plugins
- name: start hadoop jobtracker services
service: name=hadoop-0.20-mapreduce-jobtracker state=started
tags:
debug
Run Code Online (Sandbox Code Playgroud) 在scala(2.10.3)REPL的最后一个版本中,我可以键入exit以退出REPL.但是,在Scala 2.11.0中,这不起作用.
$ scala
Welcome to Scala version 2.11.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_51).
Type in expressions to have them evaluated.
Type :help for more information.
scala> exit
<console>:8: error: not found: value exit
exit
^
scala>
Run Code Online (Sandbox Code Playgroud) 我见过很多关于使用eclipse来Mavenize项目的帖子.在IntelliJ中有一种简单的方法吗?根据我对"Mavenize"的理解,它只是在pom.xml中添加一些xml,目录结构在src/main/java,src/main/test ....
如何使用with open() as f: ...在不存在的目录中写入文件.
例如:
with open('/Users/bill/output/output-text.txt', 'w') as file_to_write:
file_to_write.write("{}\n".format(result))
Run Code Online (Sandbox Code Playgroud)
假设该/Users/bill/output/目录不存在.如果目录不存在,只需创建目录并在那里写入文件.
scala是否通过复制或引用来维护变量的值?
例如,在Ruby中,闭包实际上会延长它所需的所有变量的生命周期.它不会复制它们,但会保留对它们的引用,并且变量本身不符合垃圾收集的条件(如果语言有垃圾收集)而关闭是围绕".[SKORKIN]
基本上,我试图在我的应用程序中使用twitter-bootstrap-rails和devisegem.然而,当我尝试做的时候rake db:migrate,它一直在抱怨黄瓜.group :development, :testcuc -rails 位于Gemfile中.
我的宝石环境:
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.17
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.3.0]
- INSTALLATION DIRECTORY: /Users/user1/.rvm/gems/ruby-1.9.2-p290
- RUBY EXECUTABLE: /Users/user1/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/user1/.rvm/gems/ruby-1.9.2-p290/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/user1/.rvm/gems/ruby-1.9.2-p290
- /Users/user1/.rvm/gems/ruby-1.9.2-p290@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE …Run Code Online (Sandbox Code Playgroud) 例如,在Ruby中我可以写
def initialize(price)
@Current_price = price
end
Run Code Online (Sandbox Code Playgroud) 在Scala 2.10.3中,我看到了这个问题.
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val list = List(1, 2, List(5, 6))
list: List[Any] = List(1, 2, List(5, 6))
scala> list.flatten
<console>:9: error: No implicit view available from Any => scala.collection.GenTraversableOnce[B].
list.flatten
^
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我目前的解决方法是定义我自己的平面功能.
def flat(list: List[Any]): List[Any] = list flatten {
case i: List[Any] => flat(i)
case e => List(e)
}
scala> flat(list)
res2: List[Any] = …Run Code Online (Sandbox Code Playgroud) 我看到许多关于将hadoop MapReduce结果输出为gzip格式或任何其他压缩格式的文章。但是,我不太了解hadoop-streaming如何读入(输入)压缩格式。我看到了一些较旧的帖子,内容涉及使用-jobconf stream.recordreader.compression=gzip http://mail-archives.apache.org/mod_mbox/hadoop-common-user/200907.mbox/%3C73e5a5310907141349k3329c5cua4bb58fcf103522@mail.gmail.com%3E来做输入部分。当前,我在Ubuntu LTS 12.04上使用Cloudera CDH 5。用python编写mapper和reducer。
在Scala,如果你这样做
scala> var st = "test"
st: java.lang.String = test
Run Code Online (Sandbox Code Playgroud)
你得到一个java字符串.
但是如果你这样做,你会得到一个Scala
scala> var st:String = "test2"
st: String = test2
Run Code Online (Sandbox Code Playgroud)
问题:在Java字符串置换方法中,您只能看到String类型,但在Scala中,您会看到List的示例("a","b","c").有什么不同?
例如,在Java中,您可以对字符串排列执行此操作:
private static void permutation(String prefix, String str) {
int n = str.length();
//one-char string has only one permutation
if (n == 1)
System.out.println(prefix + str);
else {
//recursive case
for (int i = 0; i < n; i++) {
char ch = str.charAt(i);
String rest = str.substring(0, i) + str.substring(i + 1);
permutation(prefix + ch, rest);
} …Run Code Online (Sandbox Code Playgroud) 在Scala doc中,trait Iterator中的Operation具有Subiterators部分.你怎么用它们?
例如,it filter p描述为"迭代器返回it满足条件的所有元素p.
scala> val list1 = List(1,2,3,4,5,6)
list1: List[Int] = List(1, 2, 3, 4, 5, 6)
scala> list1 filter (_ > 3)
res17: List[Int] = List(4, 5, 6)
scala> list1.filter(_ > 3)
res18: List[Int] = List(4, 5, 6)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,您可以使用list.filter(condition)或者list filter (condition) 有人可以提供更多使用这些操作的示例,并解释两种语法格式之间的区别.
scala ×6
list ×2
ansible ×1
closures ×1
compression ×1
cucumber ×1
flatten ×1
hadoop ×1
iterator ×1
java ×1
mapreduce ×1
maven ×1
permutation ×1
python ×1
ruby ×1
scala-2.10 ×1
scala-2.11 ×1
string ×1
types ×1