{"id":50839,"date":"2022-09-14T00:00:00","date_gmt":"2022-09-14T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/"},"modified":"2026-03-30T13:53:09","modified_gmt":"2026-03-30T20:53:09","slug":"time-bucketing-with-griddb","status":"publish","type":"post","link":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/","title":{"rendered":"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046"},"content":{"rendered":"<style>\n  .table-wrapper {\n    display: flex;\n    justify-content: center;\n}\n<\/style>\n<style>\n  .datatable {\n    margin: 20px;\n    text-align: center;\n}\n<\/style>\n<style>\n  .datatable tr:nth-child(odd) {\n    background-color: #f2f2f2;\n}\n<\/style>\n<style>\n  .datatable td {\n    font-size: 15px;\n    padding: 3px;\n    border-bottom: 1px solid #ddd;\n}\n<\/style>\n<style>\n  .datatable tr:hover {\n    background-color: lightyellow;\n}\n<\/style>\n<style>\n  .datatable th {\n    font-size: 18px;\n    font-weight: bold;\n    background-color: darkgray;\n    text-align: center;\n    color: white;\n}\n<\/style>\n<style>\n  .datatable td {\n    padding: 10px;\n    text-align: left;\n}\n<\/style>\n<p>GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridDB\u306eTIME_SAMPLING\u95a2\u6570\u3067\u306f\u3001\u6642\u9593\u52a0\u91cd\u5e73\u5747\u3092\u51fa\u3059\u3053\u3068\u306f\u53ef\u80fd\u3067\u3059\u304c\u3001\u5404\u6642\u9593\u5e2f\u306e\u30ab\u30a6\u30f3\u30c8\u5024\u3084\u6700\u5c0f\u5024\u30fb\u6700\u5927\u5024\u3092\u51fa\u3057\u305f\u3044\u5834\u5408\u306f\u3069\u3046\u3067\u3057\u3087\u3046\u304b\uff1f\u4f8b\u3048\u3070\u3001\u3042\u308b\u30ab\u30e9\u30e0\u306e\u6700\u5927\u5024\u3092\u6bce\u65e5\u6c42\u3081\u305f\u308a\u3001\u6bce\u6642\u306e\u30b5\u30f3\u30d7\u30eb\u6570\u3092\u6c42\u3081\u305f\u308a\u3057\u305f\u3044\u5834\u5408\u306f\u3069\u3046\u3067\u3057\u3087\u3046\u304b\uff1fGridDB\u306e\u30de\u30eb\u30c1\u30af\u30a8\u30ea\u6a5f\u80fd\u3068\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u6642\u523b\u30fb\u65e5\u4ed8\u30fb\u30ab\u30ec\u30f3\u30c0\u30fc\u6a5f\u80fd\u3092\u4f7f\u3048\u3070\u3001\u4ee5\u4e0a\u306e\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f\u3001GridDB\u306eTQL\u95a2\u6570TIME_SAMPLE\u3092\u5229\u7528\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001<a href=\"https:\/\/www1.nyc.gov\/site\/tlc\/about\/tlc-trip-record-data.page\">NYC\u30bf\u30af\u30b7\u30fc\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8<\/a>\u304b\u3089\u8907\u6570\u306e\u30a2\u30b0\u30ea\u30b2\u30fc\u30c8\u3092\u53d6\u5f97\u3067\u304d\u308b\u6c4e\u7528\u95a2\u6570\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u5177\u4f53\u7684\u306a\u30d5\u30a1\u30a4\u30eb\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\/tmp\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3044\u308b\u306e\u306f\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b3\u30fc\u30c9\u304c\u305d\u3053\u304b\u3089\u8aad\u307f\u8fbc\u3080\u3088\u3046\u306b\u30cf\u30fc\u30c9\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3067\u3059\u3002\u4ed6\u306e\u5834\u6240\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u3044\u5834\u5408\u306f\u3001<code>src\/main\/java\/net\/griddb\/tstaxiblog\/IngestParquet.java<\/code>\u306e\u30b3\u30fc\u30c9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3082\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code>$ wget -O \/tmp\/yellow_tripdata_2021-01.parquet https:\/\/d37ci6vzurychx.cloudfront.net\/trip-data\/yellow_tripdata_2021-01.parquet<\/code><\/pre>\n<\/div>\n<h2>\u524d\u63d0\u6761\u4ef6<\/h2>\n<p>\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u59cb\u3081\u308b\u524d\u306b\u3001GridDB\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 <a href=\"https:\/\/docs.griddb.net\/latest\/gettingstarted\/using-apt\/#install-with-deb\">https:\/\/docs.griddb.net\/latest\/gettingstarted\/using-apt\/#install-with-deb<\/a><\/p>\n<p>\u307e\u305f\u3001GridDB\u3092java\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002 <a href=\"https:\/\/docs.griddb.net\/gettingstarted\/java.html\">https:\/\/docs.griddb.net\/latest\/gettingstarted\/java\/<\/a><\/p>\n<h2>Parquet\u5f62\u5f0f\u3067\u306e\u30c7\u30fc\u30bf\u53d6\u308a\u8fbc\u307f<\/h2>\n<p>\u4ee5\u524d\u306eNYC Taxi \u30c7\u30fc\u30bf\u306b\u95a2\u3059\u308b\u30d6\u30ed\u30b0\u3067\u306f\u3001\u30c7\u30fc\u30bf\u306fCSV\u3067\u516c\u958b\u3055\u308c\u3066\u304a\u308a\u3001\u89e3\u6790\u304c\u5bb9\u6613\u3067\u3057\u305f\u3002\u6700\u8fd1\u306eNY Taxi Commission\u306fParquet\u5f62\u5f0f\u3067\u30c7\u30fc\u30bf\u3092\u516c\u958b\u3057\u3066\u304a\u308a\u3001\u5229\u70b9\u3082\u3042\u308b\u4e00\u65b9\u3067\u3001\u89e3\u6790\u304c\u96e3\u3057\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u3001Apache Parquet Library \u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u591a\u304f\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3001parqet-avro, parqet-hadoop, parqet-format, hadoop-common, hadoop-client \u3092\u542b\u3081\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002Maven \u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u4ee5\u4e0b\u3092\u4f9d\u5b58\u95a2\u4fc2\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.parquet&lt;\/groupId&gt;\n    &lt;artifactId&gt;parquet-hadoop&lt;\/artifactId&gt;\n    &lt;version&gt;1.9.0&lt;\/version&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.parquet&lt;\/groupId&gt;\n    &lt;artifactId&gt;parquet-format&lt;\/artifactId&gt;\n    &lt;version&gt;2.9.0&lt;\/version&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.parquet&lt;\/groupId&gt;\n    &lt;artifactId&gt;parquet-avro&lt;\/artifactId&gt;\n        &lt;version&gt;1.9.0&lt;\/version&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n  &lt;groupId&gt;org.apache.hadoop&lt;\/groupId&gt;\n  &lt;artifactId&gt;hadoop-common&lt;\/artifactId&gt;\n  &lt;version&gt;2.10.0&lt;\/version&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.hadoop&lt;\/groupId&gt;\n    &lt;artifactId&gt;hadoop-client&lt;\/artifactId&gt;\n    &lt;version&gt;2.10.1&lt;\/version&gt;\n    &lt;scope&gt;provided&lt;\/scope&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u3067\u3001Java\u30bd\u30fc\u30b9\u3067parquet\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001\u305d\u306e\u884c\u306e\u30b0\u30eb\u30fc\u30d7\u3092\u53cd\u5fa9\u51e6\u7406\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Path path = new Path(\"yellow_tripdata_2021-01.parquet\");\nConfiguration conf = new Configuration();\n\ntry {\n    ParquetMetadata readFooter = ParquetFileReader.readFooter(conf, path, ParquetMetadataConverter.NO_FILTER);\n    MessageType schema = readFooter.getFileMetaData().getSchema();\n    ParquetFileReader r = new ParquetFileReader(conf, path, readFooter);\n\n    PageReadStore pages = null;\n    try {\n        while (null != (pages = r.readNextRowGroup())) {\n            final long rows = pages.getRowCount();\n            System.out.println(\"Number of rows: \" + rows);\n\n            final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);\n            final RecordReader recordReader = columnIO.getRecordReader(pages, new GroupRecordConverter(schema));\n            for (int i = 0; i &lt; rows; i++) {\n                final Group g = (Group)recordReader.read();\n                writeGroup(ts, g);\n\n            }\n        }\n    } finally {\n        r.close();\n    }\n} catch (IOException e) {\n    System.out.println(\"Error reading parquet file.\");\n    e.printStackTrace();\n}<\/code><\/pre>\n<\/div>\n<p>writeGroup\u95a2\u6570\u306f\u3001\u884c\u306e\u30b0\u30eb\u30fc\u30d7\u3054\u3068\u306b\u547c\u3073\u51fa\u3055\u308c\u3001\u5b9f\u969b\u306b\u66f8\u304d\u8fbc\u307f\u3092\u884c\u3044\u3001\u5404\u884c\u306e\u30c7\u30fc\u30bf\u3092TaxiTrip\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u53d6\u308a\u8fbc\u307f\u3001\u66f8\u304d\u8fbc\u307f\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">private static void writeGroup(TimeSeries ts, Group g) throws GSException {\n\n    int fieldCount = g.getType().getFieldCount();\n    int valueCount = g.getFieldRepetitionCount(0);\n    for (int index = 0; index &lt; valueCount; index++) {\n        TaxiTrip r = new TaxiTrip();\n        for (int field = 0; field &lt; fieldCount; field++) {\n        \n            try {\n            Type fieldType = g.getType().getType(field);\n            String fieldName = fieldType.getName();\n\n            if (fieldType.isPrimitive()) {\n                switch(fieldName) {\n                    case \"tpep_pickup_datetime\":\n                        r.tpep_pickup_datetime = new Date(g.getLong(field, index)\/1000);\n                        break;\n                    \/* .... snip ... *\/\n                    case \"fare_amount\":\n                        r.fare_amount = (float)g.getDouble(field, index);\n                        break;\n                    \/* .... snip .... *\/\n                    default:\n                        System.out.println(\"Unknown field: \"+fieldName+\" value=\"+g.getValueToString(field, index));\n                }\n            } \n            } catch (Exception e) {\n            }\n        }\n        ts.put(r);\n    }\n}<\/code><\/pre>\n<\/div>\n<h2>GridDB&#8217;s TIME_SAMPLING \u6a5f\u80fd<\/h2>\n<p>GridDB \u306e TIME_SAMPLING \u95a2\u6570\u306f\u3001\u5404\u30a6\u30a3\u30f3\u30c9\u30a6\u5185\u306e\u30ab\u30e9\u30e0\u306e\u5024\u3092\u7dda\u5f62\u88dc\u9593\u3057\u3066\u8fd4\u3057\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code>TIME_SAMPLING(column, start, end, window_count, window_size)<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e\u95a2\u6570\u306f\u3001\u5404\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306b\u5bfe\u3057\u3066\u3001\u305d\u306e\u524d\u5f8c\u306e\u884c\u3092\u4f7f\u7528\u3057\u3066\u88dc\u9593\u5024\u3092\u6c42\u3081\u308b\u3053\u3068\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002\u6b21\u306e\u56f3\u306f\u3001\u305d\u306e\u6982\u5ff5\u3092\u8996\u899a\u5316\u3057\u305f\u3082\u306e\u3067\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"ts_sample.png\" alt=\"\" \/><\/p>\n<p>\u8a73\u7d30\u306f\u3001<a href=\"https:\/\/www.toshiba-sol.co.jp\/en\/pro\/griddb\/docs-en\/v5\/GridDB_ProgrammingGuide.html?#tql-interpolation-operations\">GridDB \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ac\u30a4\u30c9<\/a>\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3001\u8fd4\u3055\u308c\u305f\u5404\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u7e70\u308a\u8fd4\u3057\u51e6\u7406\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">public static void timeSampling(GridStore store, String column, Date start, Date end, String windowstr) throws GSException {\n\n    TimeZone tz = TimeZone.getTimeZone(\"UTC\");\n    DateFormat df = new SimpleDateFormat(\"yyyy-MM-dd'T'HH:mm:00'Z'\"); \n    df.setTimeZone(tz);\n\n    Container<?, Row> ts = store.getContainer(\"NYC_TaxiTrips\");\n    String querystr = \"select time_sampling(\"+column+\", TIMESTAMP('\"+df.format(start)+\"'), TIMESTAMP('\"+df.format(end) +\"') , 1, \"+windowstr+\") \"; \n\n    Query&lt;row> q = ts.query(querystr);\n    RowSet&lt;\/row>&lt;row> rs = q.fetch();\n    while (rs.hasNext()) {\n        Row result = rs.next();\n        System.out.println(result.getTimestamp(0)+\"=\"+result.getDouble(10));\n    }\n\n}&lt;\/row><\/code><\/pre>\n<\/div>\n<p><code>timeSampling(store, \"fare_amount\", start, end, \"DAY\");<\/code>\u3092\u547c\u3073\u51fa\u3059\u3068\u3001\u6b21\u306e\u3088\u3046\u306a\u5024\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<div class=\"table-wrapper\">\n<table class=\"datatable\">\n<tr>\n<th>\n        Window\n      <\/th>\n<th>\n        Sample\n      <\/th>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 01 00:00:00 GMT 2021\n      <\/td>\n<td>\n        14.833333015441895\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 02 00:00:00 GMT 2021\n      <\/td>\n<td>\n        8.55555534362793\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 03 00:00:00 GMT 2021\n      <\/td>\n<td>\n        15.710000038146973\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 04 00:00:00 GMT 2021\n      <\/td>\n<td>\n        25.31818199157715\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 05 00:00:00 GMT 2021\n      <\/td>\n<td>\n        22.024999618530273\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 06 00:00:00 GMT 2021\n      <\/td>\n<td>\n        9.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 07 00:00:00 GMT 2021\n      <\/td>\n<td>\n        43.5\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 08 00:00:00 GMT 2021\n      <\/td>\n<td>\n        6.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 09 00:00:00 GMT 2021\n      <\/td>\n<td>\n        28.950000762939453\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 10 00:00:00 GMT 2021\n      <\/td>\n<td>\n        18.450000762939453\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 11 00:00:00 GMT 2021\n      <\/td>\n<td>\n        41.75\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 12 00:00:00 GMT 2021\n      <\/td>\n<td>\n        6.5\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 13 00:00:00 GMT 2021\n      <\/td>\n<td>\n        17.710525512695312\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 14 00:00:00 GMT 2021\n      <\/td>\n<td>\n        10.8125\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 15 00:00:00 GMT 2021\n      <\/td>\n<td>\n        52.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 16 00:00:00 GMT 2021\n      <\/td>\n<td>\n        28.200000762939453\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 17 00:00:00 GMT 2021\n      <\/td>\n<td>\n        9.977272987365723\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 18 00:00:00 GMT 2021\n      <\/td>\n<td>\n        9.100000381469727\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 19 00:00:00 GMT 2021\n      <\/td>\n<td>\n        25.66666603088379\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 20 00:00:00 GMT 2021\n      <\/td>\n<td>\n        34.349998474121094\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 21 00:00:00 GMT 2021\n      <\/td>\n<td>\n        5.5\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 22 00:00:00 GMT 2021\n      <\/td>\n<td>\n        7.472727298736572\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 23 00:00:00 GMT 2021\n      <\/td>\n<td>\n        10.5\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 24 00:00:00 GMT 2021\n      <\/td>\n<td>\n        17.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 25 00:00:00 GMT 2021\n      <\/td>\n<td>\n        21.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 26 00:00:00 GMT 2021\n      <\/td>\n<td>\n        15.852941513061523\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 27 00:00:00 GMT 2021\n      <\/td>\n<td>\n        7.984375\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 28 00:00:00 GMT 2021\n      <\/td>\n<td>\n        42.83333206176758\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 29 00:00:00 GMT 2021\n      <\/td>\n<td>\n        9.083333015441895\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 30 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.892857551574707\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 31 00:00:00 GMT 2021\n      <\/td>\n<td>\n        14.371428489685059\n      <\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>TIME_SAMPLING\u306f\u4fbf\u5229\u3067\u3059\u304c\u3001\u5404\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u7dda\u5f62\u88dc\u9593\u3092\u8fd4\u3059\u3060\u3051\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u5e73\u5747\u5024\u306f\u4e00\u822c\u7684\u306b\uff08\u4e2d\u592e\u5024\u304c\u4f3c\u3066\u3044\u308b\u3088\u3046\u306b\uff09\u4f3c\u3066\u3044\u308b\u3082\u306e\u306e\u771f\u306e\u5e73\u5747\u3067\u306f\u306a\u3044\u306e\u3067\u3001\u4f7f\u7528\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u5236\u9650\u304c\u3042\u308a\u307e\u3059\u3002\u540c\u69d8\u306b\u3001\u6642\u9593\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u884c\u6570\u3001\u6700\u5c0f\u5024\u3001\u6700\u5927\u5024\u3092\u6c42\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<h2>\u30de\u30eb\u30c1\u30af\u30a8\u30ea\u306b\u3088\u308b\u30a6\u30a3\u30f3\u30c9\u30a6\u30ba\u96c6\u8a08<\/h2>\n<p>\u6642\u7cfb\u5217\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u30bb\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u4efb\u610f\u306e\u96c6\u8a08\u3092\u898b\u3064\u3051\u308b\u306b\u306f\u3001GridDB \u306e\u30de\u30eb\u30c1\u30af\u30a8\u30ea\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u5404\u30bf\u30a4\u30e0\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u5bfe\u3057\u3066\u6307\u5b9a\u3055\u308c\u305f\u96c6\u8a08\u3092\u500b\u5225\u306b\u5b9f\u884c\u3059\u308b\u3082\u306e\u3067\u3059\u3002\u6b21\u306e\u56f3\u306f\u3001\u5404\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u5bfe\u3059\u308b\u30af\u30a8\u30ea\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"ts_window.png\" alt=\"\" \/><\/p>\n<p>\u3053\u306e\u3088\u3046\u306a\u51e6\u7406\u3092\u884c\u3046\u3068\u9045\u304f\u306a\u308b\u3088\u3046\u306b\u601d\u3048\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u30de\u30eb\u30c1\u30af\u30a8\u30ea\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001GridDB\u3078\u306e\u30af\u30a8\u30ea\u306e\u9001\u4fe1\u3068\u30c7\u30fc\u30bf\u53d6\u5f97\u3092\u6700\u9069\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u3001\u3053\u306e\u95a2\u6570\u304c\u30d3\u30eb\u30c8\u30a4\u30f3\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3068\u540c\u3058\u51e6\u7406\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p>\u6c4e\u7528\u30a6\u30a3\u30f3\u30c9\u30a6\u96c6\u7d04\u6a5f\u80fd\u306e\u6700\u521d\u306e\u30b9\u30c6\u30c3\u30d7\u3068\u3057\u3066\u3001\u30b3\u30f3\u30c6\u30ca\u3092\u958b\u3044\u3066\u5404\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u30af\u30a8\u30ea\u3092\u4f5c\u6210\u3057\u3001GridDB\u3067\u5b9f\u884c\u3055\u308c\u308b\u30af\u30a8\u30ea\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\u5404\u30af\u30a8\u30ea\u306f\u3001Java \u306e Calendar \u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3057\u3001Calendar.HOUR \u3084 Calendar.DATE \u306a\u3069\u306e\u6307\u5b9a\u3055\u308c\u305f Calendar ENUM \u5024\u3067\u9593\u9694\u3092\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u3059\u308b\u3053\u3068\u3067\u69cb\u7bc9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">public static void windowAggregation(GridStore store, String aggregation, Date start, Date end, int windowsize) throws GSException {\n    Calendar c = Calendar.getInstance();\n    ArrayList&lt;Query&lt;aggregationresult>> queryList = new ArrayList&lt;Query&lt;\/aggregationresult>&lt;aggregationresult>>();\n    ArrayList&lt;date> dates = new ArrayList&lt;\/date>&lt;date>();\n    Container<?, Row> ts = store.getContainer(\"NYC_TaxiTrips\");\n\n    c.setTime(start);\n    Date interval = c.getTime();\n\n    do {\n        c.add(windowsize, 1);\n        System.out.println(\"interval=\"+interval);\n        String windowquery = \"select \"+aggregation+\" where tpep_pickup_datetime > TO_TIMESTAMP_MS(\"+interval.getTime()+\") and tpep_pickup_datetime &lt; TO_TIMESTAMP_MS(\"+c.getTime().getTime()+\")\"; \n        Query&lt;aggregationresult> q = ts.query(windowquery, AggregationResult.class);\n        dates.add(interval);\n        queryList.add(q);\n        interval = c.getTime();\n    } while (interval.getTime() &lt;= end.getTime());\n&lt;\/aggregationresult>&lt;\/date>&lt;\/aggregationresult><\/code><\/pre>\n<\/div>\n<p>\u30af\u30a8\u30ea\u306e\u30ea\u30b9\u30c8\u304c\u3067\u304d\u305f\u3089\u3001\u5b9f\u884c\u3057\u3001\u7d50\u679c\u3092\u7e70\u308a\u8fd4\u3057\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">    store.fetchAll(queryList);\n\n    for (int i = 0; i &lt; queryList.size(); i++) {\n        Query&lt;aggregationresult> query = queryList.get(i);\n        RowSet&lt;\/aggregationresult>&lt;aggregationresult> rs = query.getRowSet();\n        while (rs.hasNext()) {\n            AggregationResult result = rs.next();\n            double value = result.getDouble();\n            if (value != 0)\n                System.out.println(dates.get(i)+\"= \"+ value);\n        }\n    }\n\n\n}\n&lt;\/aggregationresult><\/code><\/pre>\n<\/div>\n<p><code>windowAggregate(store, \"avg(fare_amount)\", start, end, Calendar.DATE);<\/code> \u3092\u547c\u3073\u51fa\u3059\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<div class=\"table-wrapper\">\n<table class=\"datatable\">\n<tr>\n<th>\n        Window\n      <\/th>\n<th>\n        avg(fare_amount)\n      <\/th>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 01 00:00:00 GMT 2021\n      <\/td>\n<td>\n        13.851391098873778\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 02 00:00:00 GMT 2021\n      <\/td>\n<td>\n        13.770499047323876\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 03 00:00:00 GMT 2021\n      <\/td>\n<td>\n        15.249551398785178\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 04 00:00:00 GMT 2021\n      <\/td>\n<td>\n        13.473628681590766\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 05 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.676972567160476\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 06 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.243332028212064\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 07 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.464050631310585\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 08 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.091422930601727\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 09 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.537748556275371\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 10 00:00:00 GMT 2021\n      <\/td>\n<td>\n        13.496787364093032\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 11 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.350597800281259\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 12 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.189052448708432\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 13 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.970959482137403\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 14 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.338237139653735\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 15 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.24978189382601\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 16 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.348960280360648\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 17 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.987822185285506\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 18 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.66304436182826\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 19 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.19362357336725\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 20 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.760170207452589\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 21 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.153647415269047\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 22 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.026541242751565\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 23 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.73361113486781\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 24 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.876742517934895\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 25 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.229045667216711\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 26 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.716670845330835\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 27 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.823579132291002\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 28 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.842199614451049\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 29 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.784085302551507\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 30 00:00:00 GMT 2021\n      <\/td>\n<td>\n        11.843539460445053\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 31 00:00:00 GMT 2021\n      <\/td>\n<td>\n        12.406643581985854\n      <\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>\u307e\u305f\u3001<code>windowAggregate(store, \"count(*)\", start, end, Calendar.DATE)<\/code> \u3092\u547c\u3076\u3053\u3068\u3067\u3001\u884c\u6570\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"table-wrapper\">\n<table class=\"datatable\">\n<tr>\n<th>\n        Window\n      <\/th>\n<th>\n        COUNT(*)\n      <\/th>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 01 00:00:00 GMT 2021\n      <\/td>\n<td>\n        20430.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 02 00:00:00 GMT 2021\n      <\/td>\n<td>\n        25429.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 03 00:00:00 GMT 2021\n      <\/td>\n<td>\n        20909.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 04 00:00:00 GMT 2021\n      <\/td>\n<td>\n        30733.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 05 00:00:00 GMT 2021\n      <\/td>\n<td>\n        31667.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 06 00:00:00 GMT 2021\n      <\/td>\n<td>\n        32965.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 07 00:00:00 GMT 2021\n      <\/td>\n<td>\n        33306.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 08 00:00:00 GMT 2021\n      <\/td>\n<td>\n        33628.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 09 00:00:00 GMT 2021\n      <\/td>\n<td>\n        28626.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 10 00:00:00 GMT 2021\n      <\/td>\n<td>\n        23034.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 11 00:00:00 GMT 2021\n      <\/td>\n<td>\n        31583.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 12 00:00:00 GMT 2021\n      <\/td>\n<td>\n        33201.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 13 00:00:00 GMT 2021\n      <\/td>\n<td>\n        33633.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 14 00:00:00 GMT 2021\n      <\/td>\n<td>\n        34580.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 15 00:00:00 GMT 2021\n      <\/td>\n<td>\n        34706.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 16 00:00:00 GMT 2021\n      <\/td>\n<td>\n        28094.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 17 00:00:00 GMT 2021\n      <\/td>\n<td>\n        24373.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 18 00:00:00 GMT 2021\n      <\/td>\n<td>\n        26830.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 19 00:00:00 GMT 2021\n      <\/td>\n<td>\n        33525.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 20 00:00:00 GMT 2021\n      <\/td>\n<td>\n        32902.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 21 00:00:00 GMT 2021\n      <\/td>\n<td>\n        34652.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 22 00:00:00 GMT 2021\n      <\/td>\n<td>\n        35478.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 23 00:00:00 GMT 2021\n      <\/td>\n<td>\n        29830.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 24 00:00:00 GMT 2021\n      <\/td>\n<td>\n        23776.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Mon Jan 25 00:00:00 GMT 2021\n      <\/td>\n<td>\n        32064.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tue Jan 26 00:00:00 GMT 2021\n      <\/td>\n<td>\n        31969.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Wed Jan 27 00:00:00 GMT 2021\n      <\/td>\n<td>\n        34148.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Thu Jan 28 00:00:00 GMT 2021\n      <\/td>\n<td>\n        35670.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Fri Jan 29 00:00:00 GMT 2021\n      <\/td>\n<td>\n        35219.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sat Jan 30 00:00:00 GMT 2021\n      <\/td>\n<td>\n        28349.0\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Sun Jan 31 00:00:00 GMT 2021\n      <\/td>\n<td>\n        23674.0\n      <\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>\u3082\u3057\u3001\u6bce\u65e5\u30a6\u30a3\u30f3\u30c9\u30a6\u30ba\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u6642\u9593\u3054\u3068\u306e\u96c6\u8a08\u3092\u3057\u305f\u3044\u5834\u5408\u306f\u3001cronjob\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u304b\u3001sleep()\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u30eb\u30fc\u30d7\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Calendar c = Calendar.getInstance();\nDate now = new Date();\nDate start = c.add(Calendar.DATE, -1).getTIme(); \nc.add(windowsize, 1);\nwindowAggregate(store, \"avg(*)\", start, now, Calendar.HOUR);\n<\/code><\/pre>\n<\/div>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u3053\u3053\u307e\u3067\u3067\u7d39\u4ecb\u3057\u305f\u3088\u3046\u306b\u3001GridDB\u3092\u4f7f\u3048\u3070\u7c21\u5358\u306b\u6642\u9593\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u96c6\u8a08\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30d6\u30ed\u30b0\u306e\u5168\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u3001GridDB.net\u306e<a href=\"https:\/\/github.com\/griddbnet\/Blogs\/tree\/time-bucketing\">GitHub\u30da\u30fc\u30b8<\/a>\u306b\u63b2\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code>git clone --branch time-bucketing https:\/\/github.com\/griddbnet\/Blogs.git<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001maven\u3092\u4f7f\u7528\u3057\u3001\u307e\u305a\u306fingest\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code>mvn package exec:java -Dexec.mainClass=\"net.griddb.tstaxiblog.IngestParquet\"<\/code><\/pre>\n<\/div>\n<p>\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3055\u308c\u305f\u30bf\u30af\u30b7\u30fc\u5229\u7528\u306e\u6570\u304b\u3001\u30d1\u30fc\u30b1\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u307e\u305f\u3001Parquet Libraries\u304c\u539f\u56e0\u3067\u3053\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">java.lang.InterruptedException\n    at java.lang.Object.wait(Native Method)\n    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)\n    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)\n    at org.apache.hadoop.fs.FileSystem$Statistics$StatisticsDataReferenceCleaner.run(FileSystem.java:3693)\n    at java.lang.Thread.run(Thread.java:748)\n<\/code><\/pre>\n<\/div>\n<p>gs_sh \u3068 TQL \u306e &#8220;select count(*) NYC_TaxiTrips&#8221; \u3067\u3001\u30c7\u30fc\u30bf\u304c\u6b63\u3057\u304f\u53d6\u308a\u8fbc\u307e\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001\u5206\u6790\u3092\u5b9f\u884c\u3059\u308b\u65b9\u6cd5\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code>mvn package exec:java -Dexec.mainClass=\"net.griddb.tstaxiblog.TaxiQuery\"<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridDB\u306eTIME_SAMPLING\u95a2\u6570\u3067\u306f\u3001\u6642\u9593\u52a0\u91cd\u5e73\u5747\u3092\u51fa\u3059\u3053 [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":50340,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1005],"tags":[],"class_list":["post-50839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1005"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/time-bucketing-with-griddb\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/time-bucketing-with-griddb\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-14T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-30T20:53:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb.net\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1160\" \/>\n\t<meta property=\"og:image:height\" content=\"653\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Owen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Owen\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/\"},\"author\":{\"name\":\"Owen\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/0f2f6d4b593adde8c43cf3ea5c794c66\"},\"headline\":\"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046\",\"datePublished\":\"2022-09-14T07:00:00+00:00\",\"dateModified\":\"2026-03-30T20:53:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/\"},\"wordCount\":376,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/\",\"url\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/\",\"name\":\"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png\",\"datePublished\":\"2022-09-14T07:00:00+00:00\",\"dateModified\":\"2026-03-30T20:53:09+00:00\",\"description\":\"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png\",\"contentUrl\":\"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png\",\"width\":1160,\"height\":653},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/0f2f6d4b593adde8c43cf3ea5c794c66\",\"name\":\"Owen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/47438a5c81215c7a9043be1b427e0bbd8dc0f77bd536f147f8495575149e4325?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/47438a5c81215c7a9043be1b427e0bbd8dc0f77bd536f147f8495575149e4325?s=96&d=mm&r=g\",\"caption\":\"Owen\"},\"url\":\"https:\/\/griddb.net\/ja\/author\/owen\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT","description":"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/time-bucketing-with-griddb\/","og_locale":"ja_JP","og_type":"article","og_title":"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT","og_description":"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD","og_url":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/time-bucketing-with-griddb\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2022-09-14T07:00:00+00:00","article_modified_time":"2026-03-30T20:53:09+00:00","og_image":[{"width":1160,"height":653,"url":"https:\/\/griddb.net\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png","type":"image\/png"}],"author":"Owen","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"\u57f7\u7b46\u8005":"Owen","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"2\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/"},"author":{"name":"Owen","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/0f2f6d4b593adde8c43cf3ea5c794c66"},"headline":"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046","datePublished":"2022-09-14T07:00:00+00:00","dateModified":"2026-03-30T20:53:09+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/"},"wordCount":376,"commentCount":0,"publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png","inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/","url":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/","name":"GridDB\u3067\u30bf\u30a4\u30e0\u30d0\u30b1\u30c3\u30c8\u3092\u884c\u3046 | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png","datePublished":"2022-09-14T07:00:00+00:00","dateModified":"2026-03-30T20:53:09+00:00","description":"GridDB\u306b\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5185\u306e\u5404\u6642\u9593\u5e2f\uff08\u30a6\u30a3\u30f3\u30c9\u30a6\u3084\u30d0\u30b1\u30c3\u30c8\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306e\u96c6\u8a08\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u3001\u3069\u3046\u3057\u305f\u3089\u3088\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3002GridD","inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/time-bucketing-with-griddb\/#primaryimage","url":"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png","contentUrl":"\/wp-content\/uploads\/2023\/02\/Time-Bucketing1.png","width":1160,"height":653},{"@type":"WebSite","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/0f2f6d4b593adde8c43cf3ea5c794c66","name":"Owen","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/47438a5c81215c7a9043be1b427e0bbd8dc0f77bd536f147f8495575149e4325?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/47438a5c81215c7a9043be1b427e0bbd8dc0f77bd536f147f8495575149e4325?s=96&d=mm&r=g","caption":"Owen"},"url":"https:\/\/griddb.net\/ja\/author\/owen\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/comments?post=50839"}],"version-history":[{"count":3,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50839\/revisions"}],"predecessor-version":[{"id":55151,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50839\/revisions\/55151"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/media\/50340"}],"wp:attachment":[{"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/media?parent=50839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/categories?post=50839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb.net\/ja\/wp-json\/wp\/v2\/tags?post=50839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}