我有一句话:
one:two:three:four:five:six seven:eight
Run Code Online (Sandbox Code Playgroud)
我想用awk获得 $1是一个$2是two:three:four:five:six seven:eight
我知道我以前可以做到这一点sed.这是改变的第一次出现:有sed那么awk它使用新的分隔符.
但是,用新的分隔符替换分隔符对我没有帮助,因为我无法保证新的分隔符不会在文本中的某个位置.
我想知道是否有选择以awk这种方式行事
所以类似于:
awk -F: '{print $1,$2}'
Run Code Online (Sandbox Code Playgroud)
将打印:
one two:three:four:five:six seven:eight
Run Code Online (Sandbox Code Playgroud)
我也想做一些操作$1,$2所以我不想只替换第一次出现:.
是否有我可以使用的附加程序可以让我每天滚动,压缩和最大文件?
使用apache-log4j-extras此配置,我可以通过压缩获取每日滚动文件:
<appender name="debugFileRolling" class="org.apache.log4j.rolling.RollingFileAppender">
<!-- The active file to log to -->
<param name="file" value="debug.log" />
<param name="append" value="true" />
<param name="encoding" value="UTF-8" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="/%d{yyyy-MM-dd}-debug.log.gz" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d [%t] %c: %m%n" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
但我不能指定MaxBackupIndex为 in org.apache.log4j.RollingFileAppender(注意两者之间的轻微命名空间差异)。
我想要两者而不必实现我自己的FileAppender, TriggeringPolicy, 或RollingPolicy。
我正在尝试elasticsearch使用elasticsearch-spark连接器进行查询,但我只想返回几个结果:
例如:
val conf = new SparkConf().set("es.nodes","localhost").set("es.index.auto.create", "true").setMaster("local")
val sparkContext = new SparkContext(conf)
val query = "{\"size\":1}"
println(sparkContext.esRDD("index_name/type", query).count())
Run Code Online (Sandbox Code Playgroud)
但是,这将返回索引中的所有文档。
我试图拥有一个带有一些默认参数的基本选项解析器。
在其他项目中,我想使用其他参数扩展选项解析器。
就像是:
case class Config(foo: String = null)
trait DefaultParser { self: OptionParser[Config] =>
opt[String]('f', "foo") action { (x, c) =>
c.copy(foo = x)
}
}
case class MyConfig(bar: String = "hello world")
trait MyParser { self: OptionParser[MyConfig] =>
opt[String]('b', "bar") action { (x, c) =>
c.copy(bar = x)
}
}
Run Code Online (Sandbox Code Playgroud)
我是新手Scala,我不确定现在如何在同一个args.
我正在使用Scala2.10 和scopt_2.10v3.3.0。
我在 logstash 中有一个事件,如下所示:
{
"terms" : { "A" : 1, "B" : 0.5, "c" : 1.6 }
}
Run Code Online (Sandbox Code Playgroud)
我想将其更改为:
{
"terms" : [ "A", "B", "C" ]
}
Run Code Online (Sandbox Code Playgroud)
我没有找到任何关于for循环的文档或获取字典的键。
我想做类似的事情:
filter {
for key in [terms]{
mutate {
merge => ["tmp_terms", key]
}
mutate {
remove_field => ["terms"]
rename => ["tmp_terms", "terms"]
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议 ?
我在elasticsearch(1.5)中有文档,如下所示:
{
"gender": [
{
"name": "unknown",
"value": 12
},
{
"name": "male",
"value": 89
},
{
"name": "female",
"value": 84
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想获得每个性别名称的所有值的总和.像那样:
{
"buckets": [
{
"key": "unknown",
"doc_count": 112,
"gender_a": {
"value": 462
}
},
{
"key": "male",
"doc_count": 107,
"gender_a": {
"value": 438
}
},
{
"key": "female",
"doc_count": 36,
"gender_a": {
"value": 186
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我试过这个查询:
{
"aggs": {
"gender_name": {
"terms": {
"field": "gender.name"
},
"aggs": {
"gender_sum": {
"sum": …Run Code Online (Sandbox Code Playgroud) scala ×2
apache-spark ×1
awk ×1
bash ×1
for-loop ×1
inheritance ×1
java ×1
log4j ×1
logging ×1
logstash ×1
optionparser ×1
scopt ×1