質問編集履歴

6

質問更新

2018/12/25 09:47

投稿

raccoondog
raccoondog

スコア77

test CHANGED
File without changes
test CHANGED
@@ -8,16 +8,10 @@
8
8
 
9
9
  ➀OracleDBのデータをembulkでBigQueryへバルクインサートする。対象のテーブルは2つ(A,B)
10
10
 
11
-
12
-
13
11
  ➁BigQueryに作成された2つのテーブル(A,B)、別途BigQueryにテーブルを1つ(C)作成する
14
12
 
15
-
16
-
17
13
  ➂2つのテーブル(A,B)から、sqlを使って特定条件のもと結合処理を行い、必要なレコードだけをCテーブルへインサートする
18
14
 
19
-
20
-
21
15
  CronJobを使って、➂の処理を定期実行(1分間隔で実行)させたい。
22
16
 
23
17
 
@@ -28,10 +22,6 @@
28
22
 
29
23
 
30
24
 
31
- 1と2について調査中となります。
32
-
33
-
34
-
35
25
  ※2018/12/21
36
26
 
37
27
  ```ここに言語を入力
@@ -42,8 +32,6 @@
42
32
 
43
33
  ```
44
34
 
45
-
46
-
47
35
  ※2018/12/25
48
36
 
49
37
  ```
@@ -52,8 +40,364 @@
52
40
 
53
41
  Schedule queryでは、実行間隔の最短許容時間は 3 時間となる
54
42
 
55
-
56
-
57
43
  ⇒bigqueryでSQLを1分間隔で定期実行する方法を知りたいです
58
44
 
59
45
  ```
46
+
47
+ ※2018/12/25
48
+
49
+ ```ここに言語を入力
50
+
51
+ ※※実行させたいクエリ※※
52
+
53
+
54
+
55
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$ cat bigquery_tbl_gousei.sql
56
+
57
+
58
+
59
+ insert into `fluid-emissary-216806.embulk_test.INPUT_TEST_003` (ID,NUM,STR,VARSTR,DT,TIME0,TIME6,TIME9)
60
+
61
+ select * from `fluid-emissary-216806.embulk_test.INPUT_TEST_001`
62
+
63
+ where Num In
64
+
65
+ (select Num from `fluid-emissary-216806.embulk_test.INPUT_TEST_002` A
66
+
67
+ where not exists(select 1 from `fluid-emissary-216806.embulk_test.INPUT_TEST_003` B where A.NUM=B.NUM));
68
+
69
+
70
+
71
+ commit;
72
+
73
+
74
+
75
+
76
+
77
+ ※※クーロン定義※※
78
+
79
+
80
+
81
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$ cat cron.yml
82
+
83
+ cron:
84
+
85
+ - description: "test job"
86
+
87
+ url: /home/dwhtest01/cron/bigquery_tbl_gousei.sql
88
+
89
+ schedule: every 1 mins
90
+
91
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$
92
+
93
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$
94
+
95
+
96
+
97
+
98
+
99
+ ※※デプロイ※※
100
+
101
+
102
+
103
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$ gcloud app deploy cron.yml
104
+
105
+ Configurations to update:
106
+
107
+
108
+
109
+ descriptor: [/home/dwhtest01/cron/cron.yml]
110
+
111
+ type: [cron jobs]
112
+
113
+ target project: [fluid-emissary-216806]
114
+
115
+
116
+
117
+
118
+
119
+ Do you want to continue (Y/n)? y
120
+
121
+
122
+
123
+ Updating config [cron]...done.
124
+
125
+
126
+
127
+ Cron jobs have been updated.
128
+
129
+
130
+
131
+ Visit the Cloud Platform Console Task Queues page to view your queues and cron jobs.
132
+
133
+ https://console.cloud.google.com/appengine/taskqueues/cron?project=fluid-emissary-216806
134
+
135
+
136
+
137
+ dwhtest01@cloudshell:~/cron (fluid-emissary-216806)$
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ ※※エラーログ※※
146
+
147
+
148
+
149
+ [
150
+
151
+ {
152
+
153
+ "protoPayload": {
154
+
155
+ "@type": "type.googleapis.com/google.appengine.logging.v1.RequestLog",
156
+
157
+ "appId": "b~fluid-emissary-216806",
158
+
159
+ "versionId": "20181213t142210",
160
+
161
+ "requestId": "5c21fa7800ff0ca50930d01c390001627e666c7569642d656d6973736172792d3231363830360001323031383132313374313432323130000100",
162
+
163
+ "ip": "0.1.0.1",
164
+
165
+ "startTime": "2018-12-25T09:38:00.828681Z",
166
+
167
+ "endTime": "2018-12-25T09:38:00.836503Z",
168
+
169
+ "latency": "0.007822s",
170
+
171
+ "megaCycles": "18",
172
+
173
+ "method": "GET",
174
+
175
+ "resource": "/home/dwhtest01/cron/bigquery_tbl_gousei.sql",
176
+
177
+ "httpVersion": "HTTP/1.1",
178
+
179
+ "status": 404,
180
+
181
+ "responseSize": "270",
182
+
183
+ "userAgent": "AppEngine-Google; (+http://code.google.com/appengine)",
184
+
185
+ "urlMapEntry": "unused",
186
+
187
+ "host": "fluid-emissary-216806.appspot.com",
188
+
189
+ "cost": 3.9227e-8,
190
+
191
+ "taskQueueName": "__cron",
192
+
193
+ "taskName": "628d389511e5aca63075275b587e7723",
194
+
195
+ "instanceIndex": -1,
196
+
197
+ "finished": true,
198
+
199
+ "instanceId": "00c61b117ca639154fd1febe2b89a52f725f5315a4ddea4ab3a7ca714196d74849fe41fbc1",
200
+
201
+ "appEngineRelease": "1.9.65",
202
+
203
+ "traceId": "87d8451f8d11498fbba715077fbb2aac",
204
+
205
+ "first": true,
206
+
207
+ "traceSampled": true
208
+
209
+ },
210
+
211
+ "insertId": "5c21fa78000cc41525d59178",
212
+
213
+ "httpRequest": {
214
+
215
+ "status": 404
216
+
217
+ },
218
+
219
+ "resource": {
220
+
221
+ "type": "gae_app",
222
+
223
+ "labels": {
224
+
225
+ "module_id": "default",
226
+
227
+ "zone": "asia-northeast1-1",
228
+
229
+ "project_id": "fluid-emissary-216806",
230
+
231
+ "version_id": "20181213t142210"
232
+
233
+ }
234
+
235
+ },
236
+
237
+ "timestamp": "2018-12-25T09:38:00.828681Z",
238
+
239
+ "labels": {
240
+
241
+ "clone_id": "00c61b117ca639154fd1febe2b89a52f725f5315a4ddea4ab3a7ca714196d74849fe41fbc1"
242
+
243
+ },
244
+
245
+ "logName": "projects/fluid-emissary-216806/logs/appengine.googleapis.com%2Frequest_log",
246
+
247
+ "operation": {
248
+
249
+ "id": "5c21fa7800ff0ca50930d01c390001627e666c7569642d656d6973736172792d3231363830360001323031383132313374313432323130000100",
250
+
251
+ "producer": "appengine.googleapis.com/request_id",
252
+
253
+ "first": true,
254
+
255
+ "last": true
256
+
257
+ },
258
+
259
+ "trace": "projects/fluid-emissary-216806/traces/87d8451f8d11498fbba715077fbb2aac",
260
+
261
+ "receiveTimestamp": "2018-12-25T09:38:00.859965517Z",
262
+
263
+ "traceSampled": true
264
+
265
+ },
266
+
267
+ {
268
+
269
+ "protoPayload": {
270
+
271
+ "@type": "type.googleapis.com/google.appengine.logging.v1.RequestLog",
272
+
273
+ "appId": "b~fluid-emissary-216806",
274
+
275
+ "versionId": "20181213t142210",
276
+
277
+ "requestId": "5c21fa3c00ff01b09bdc7ce1370001627e666c7569642d656d6973736172792d3231363830360001323031383132313374313432323130000100",
278
+
279
+ "ip": "0.1.0.1",
280
+
281
+ "startTime": "2018-12-25T09:37:00.110747Z",
282
+
283
+ "endTime": "2018-12-25T09:37:06.738707Z",
284
+
285
+ "latency": "6.627960s",
286
+
287
+ "megaCycles": "6843",
288
+
289
+ "method": "GET",
290
+
291
+ "resource": "/home/dwhtest01/cron/bigquery_tbl_gousei.sql",
292
+
293
+ "httpVersion": "HTTP/1.1",
294
+
295
+ "status": 404,
296
+
297
+ "responseSize": "270",
298
+
299
+ "userAgent": "AppEngine-Google; (+http://code.google.com/appengine)",
300
+
301
+ "urlMapEntry": "unused",
302
+
303
+ "host": "fluid-emissary-216806.appspot.com",
304
+
305
+ "cost": 3.9227e-8,
306
+
307
+ "taskQueueName": "__cron",
308
+
309
+ "taskName": "628d389511e5aca63075275b587e7723",
310
+
311
+ "wasLoadingRequest": true,
312
+
313
+ "instanceIndex": -1,
314
+
315
+ "finished": true,
316
+
317
+ "instanceId": "00c61b117ca639154fd1febe2b89a52f725f5315a4ddea4ab3a7ca714196d74849fe41fbc1",
318
+
319
+ "line": [
320
+
321
+ {
322
+
323
+ "time": "2018-12-25T09:37:06.738545Z",
324
+
325
+ "severity": "INFO",
326
+
327
+ "logMessage": "This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application."
328
+
329
+ }
330
+
331
+ ],
332
+
333
+ "appEngineRelease": "1.9.65",
334
+
335
+ "traceId": "7f55ee9515b0864f014b7f477c927d56",
336
+
337
+ "first": true,
338
+
339
+ "traceSampled": true
340
+
341
+ },
342
+
343
+ "insertId": "5c21fa42000b46494943821e",
344
+
345
+ "httpRequest": {
346
+
347
+ "status": 404
348
+
349
+ },
350
+
351
+ "resource": {
352
+
353
+ "type": "gae_app",
354
+
355
+ "labels": {
356
+
357
+ "version_id": "20181213t142210",
358
+
359
+ "module_id": "default",
360
+
361
+ "zone": "asia-northeast1-1",
362
+
363
+ "project_id": "fluid-emissary-216806"
364
+
365
+ }
366
+
367
+ },
368
+
369
+ "timestamp": "2018-12-25T09:37:00.110747Z",
370
+
371
+ "severity": "INFO",
372
+
373
+ "labels": {
374
+
375
+ "clone_id": "00c61b117ca639154fd1febe2b89a52f725f5315a4ddea4ab3a7ca714196d74849fe41fbc1"
376
+
377
+ },
378
+
379
+ "logName": "projects/fluid-emissary-216806/logs/appengine.googleapis.com%2Frequest_log",
380
+
381
+ "operation": {
382
+
383
+ "id": "5c21fa3c00ff01b09bdc7ce1370001627e666c7569642d656d6973736172792d3231363830360001323031383132313374313432323130000100",
384
+
385
+ "producer": "appengine.googleapis.com/request_id",
386
+
387
+ "first": true,
388
+
389
+ "last": true
390
+
391
+ },
392
+
393
+ "trace": "projects/fluid-emissary-216806/traces/7f55ee9515b0864f014b7f477c927d56",
394
+
395
+ "receiveTimestamp": "2018-12-25T09:37:06.765183723Z",
396
+
397
+ "traceSampled": true
398
+
399
+ }
400
+
401
+ ]
402
+
403
+ ```

5

一部変更

2018/12/25 09:47

投稿

raccoondog
raccoondog

スコア77

test CHANGED
@@ -1 +1 @@
1
- BigQuery上で実行するクエリをGAEのcronジョブで定期実行(1分間隔で実行)
1
+ 〖再掲〗BigQuery上で実行するクエリをGAEのcronジョブで定期実行(1分間隔で実行)
test CHANGED
File without changes

4

状況更新

2018/12/25 07:59

投稿

raccoondog
raccoondog

スコア77

test CHANGED
File without changes
test CHANGED
@@ -40,8 +40,20 @@
40
40
 
41
41
  スケジューリングする際に、1分毎に実行する条件を追加
42
42
 
43
+ ```
43
44
 
44
45
 
46
+
45
- ⇒実装可能か調査中
47
+ ※2018/12/25
46
48
 
47
49
  ```
50
+
51
+ Cloud Shellはログアウトして1時間経過するとcrontabの中身が消える
52
+
53
+ Schedule queryでは、実行間隔の最短許容時間は 3 時間となる
54
+
55
+
56
+
57
+ ⇒bigqueryでSQLを1分間隔で定期実行する方法を知りたいです
58
+
59
+ ```

3

質問更新

2018/12/25 07:58

投稿

raccoondog
raccoondog

スコア77

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,19 @@
29
29
 
30
30
 
31
31
  1と2について調査中となります。
32
+
33
+
34
+
35
+ ※2018/12/21
36
+
37
+ ```ここに言語を入力
38
+
39
+ スケジュールクエリで、SQLをスケジューリング
40
+
41
+ スケジューリングする際に、1分毎に実行する条件を追加
42
+
43
+
44
+
45
+ ⇒実装可能か調査中
46
+
47
+ ```

2

質問内容更新

2018/12/21 01:53

投稿

raccoondog
raccoondog

スコア77

test CHANGED
@@ -1 +1 @@
1
- BigQuery上で実行するクエリをGAEのcronジョブで定期実行
1
+ BigQuery上で実行するクエリをGAEのcronジョブで定期実行(1分間隔で実行)
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- CronJobを使って、➂の処理を定期実行させたい。
21
+ CronJobを使って、➂の処理を定期実行(1分間隔で実行)させたい。
22
22
 
23
23
 
24
24
 

1

質問更新

2018/12/21 01:45

投稿

raccoondog
raccoondog

スコア77

test CHANGED
@@ -1 +1 @@
1
- Cloud Schedulerを使った、ジョブ実行について
1
+ BigQuery上で実行するクエリGAEのcronジョブで定期実行
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ■実現したいこと
2
2
 
3
- BigQueryに3つのテーブルを作成して、スケュールジョブでテーブル更新したい
3
+ BigQueryに3つのテーブルを作成して、cronジョブでテーブル更新処理を定期実行させる
4
4
 
5
5
 
6
6
 
@@ -18,8 +18,14 @@
18
18
 
19
19
 
20
20
 
21
- google Cloud Schedulerを使って、➂の処理を定期実行させたい。
21
+ CronJobを使って、➂の処理を定期実行させたい。
22
22
 
23
23
 
24
24
 
25
+ 1.cronjobの定義方法
26
+
27
+ 2.BigQueryのクエリ定義方法
28
+
29
+
30
+
25
- google Cloud Schedulerで、毎分SQLを実行させるこは可能か調査中となります。
31
+ 2について調査中となります。