Press "Enter" to skip to content

Month: June 2022

一个句号

怎么说呢,今天是我在国内某知名互联网公司的last day。总算是要解脱了。

一大早起来还担心自己交接的工作不够详细,怕接手的同事处理不了,于是在公司内网的文档平台更新了一篇关于调用ES的api文档,结果不到2小时,自己的内网帐号被完全注销了,苦笑了一下。还想着再发个远程会议交待几句工作呢,看来没有必要了。

像我之前呆过的互联网公司一样,这里虽有大牛,却一样的内卷。虽然平时累的像dog一样,却一样有着关系很好和舍不得离开的好友同事。过去这2年多的经历像电影一样闪过,很想写点什么来记录一下,却不知道从哪里开始写。

在我入职这家公司的第2个月,就通过某蓝色社交app加上了某位同事的微信,他叫墨墨。一个又高又壮浓眉大眼的山东男孩。他性格很好,人见人爱,还自诩有个硕大的屁股。后面总能在微信上看到,谁谁谁拍了拍墨墨的大屁股。以至于后来,大家都拿大屁股开玩笑了。

那年9月,我在单位健身房workout的时候,突然一个小哥走过来,低声问了句:小哥哥,你是彩虹吗?

我当然听懂了,是的,这位小哥后来成了我的健身搭子,我们都叫他silence。我和silence无数次在健身房挥汗如雨,一起成长。还经常评头论足健身房里哪位同事好看,哪位同事身材好,那真是一段开心的岁月。

再后来,认识了新来的实习生诺一。他应该是有社交牛逼症,在短短一年多的时间里,把公司里外的好看的男神们都加了一个遍(当然,也包括我),甚至加了好多外地的男神。我一度在想,这货要是登上了曼谷沷水节的红地毯,那还得了,可能就是当代邓文迪了。

离开北京的那天晚上,他们3个都来送我。像往常一样,我们各点了一杯蜜雪冰城,一边闲聊一边溜街,再次体验了一次这轻松惬意的感觉。

分开的时候,我告诉他们,我只能陪你们走一段路,后面的路,要大家自己走了。江湖很小,我们有缘还会再见的。

跟他们3个人相处的时候,是我在这家互联网公司最开心的时光。有了他们3个的陪伴,让我的这段灰暗的路程上增添了一些色彩。我总说,他们3个,是我在这家公司里最宝贵的资产。

到了今天,我在这家公司的经历,算是完整了划上了一个句号。

在京工作了整整十年,大大小小的公司也算是经历过了。稍候应该会写一下,我呆过的那些大大小小的帝都公司的感受吧。

3 Comments

调用Elasticsearch API查询数据, 并将数据导出为csv格式

1, 调用Elasticsearch API查询数据

下面的命令是一条标准的查询语句

curl -XGET http://127.0.0.1:9200/my_index-*/_search -H 'Content-Type: application/json' -d'
{
  "size": 10000,
  "query": {
    "bool": {
      "filter": [
        { "match_all": {} },
        { "match_phrase": { "id": 20202162488675 } },
        { "match_phrase": { "my_site": "www.zhukun.net" } },
        { "match_phrase": { "log_level": "error" } },
        { "range": { "@timestamp": { "gte": "2022-06-09T00:00:00.000+08:00", "lte": "2022-06-09T23:59:59.999+08:00" } } }
      ]
    }
  }
}'

2, 将查询到的数据导出为csv格式

首先, 我们将上面的命令查询的结果重定向到a.json文件中, 然后使用jq命令将json中的数据导出为csv

jq '[ .hits.hits[]._source ] | map(del(.message)) | (map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv' a.json > a.csv

3, 一些注意事项

3.1 查询命令里的”size”: 10000表示查询结果的最大显示数量, 受到ES的index.max_result_window的限制(默认限制是10000条), 如果要修改此限制可使用如下命令:

curl -XPUT http://127.0.0.1:9200/my_index-*/_settings -H 'Content-Type: application/json' -d'
{
  "index": { "max_result_window": 50000 }
}'

3.2 关于jq命令的用法

  • [ .hits.hits[]._source ]表示将所有结果放在一个list里
  • map(del(.message))表示删除结果里的message这个k-v
  • map(keys) | add | unique表示提取所有的key
Leave a Comment