我刚刚开始使用Google Data Flow,我编写了一个简单的流程,从云存储中读取CSV文件.其中一个步骤涉及调用Web服务以丰富结果.有问题的Web服务在批量发送多个100个请求时表现更好.
在查看API时,我没有看到将PCollection的100个元素聚合到单个Par.do执行中的好方法.然后需要拆分结果以处理写入BigQuery表的流的最后一步.
不确定我是否需要使用窗口是我想要的.我看到的大多数窗口示例都更适合在给定时间段内进行计数.
我有一些看起来像这样的 json
{
"users":[ {
"id":8734,
"last_login":"2016-10-04T06:59:40Z"
},
{
"id":9376,
"last_login":"2016-05-04T20:37:32Z"
},
{
"id":9376,
"last_login":null
}
]}
Run Code Online (Sandbox Code Playgroud)
我想返回上次登录日期 > 90 天的 ID,因此在这种情况下它应该只返回 9376。我想我需要将 fromdateiso8601 与选择结合使用,但在正确使用语法时遇到了一些麻烦。
这似乎有效
.users[] | select ( .last_login | fromdateiso8601 > 1475625600) | .id
Run Code Online (Sandbox Code Playgroud)
但我仍然得到
jq: error (at <stdin>:0): strptime/1 requires string inputs and arguments
Run Code Online (Sandbox Code Playgroud)
我如何处理空值,理想情况下这些将包含在结果中。
我试图在Docker容器中获取set一些环境变量.
以下工作正常
ENV CORE_SQL_URL "jdbc:postgresql://db:5432/db"
ENV JAVA_OPTS -DCORE_SQL_URL=${CORE_SQL_URL}
Run Code Online (Sandbox Code Playgroud)
但是,如果II想要覆盖CORE_SQL_URL,我怎么能强制更新JAVA_OPTS.
使用docker run -e运行容器"CORE_SQL_URL = jdbc:postgresql:// db:5432/db2"会导致以下结果
JAVA_OPTS=-DCORE_SQL_URL=jdbc:postgresql://db:5432/db
CORE_SQL_URL=jdbc:postgresql://db:5432/db2
Run Code Online (Sandbox Code Playgroud)