{"id":50844,"date":"2023-01-27T00:00:00","date_gmt":"2023-01-27T08:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/"},"modified":"2025-11-14T07:55:59","modified_gmt":"2025-11-14T15:55:59","slug":"stream-data-with-griddb-and-kafka","status":"publish","type":"post","link":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/","title":{"rendered":"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b"},"content":{"rendered":"<p>Apache Kafka\u306f\u3001\u300c\u30ec\u30b3\u30fc\u30c9\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u51e6\u7406\u300d\u3092\u53ef\u80fd\u306b\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002\u3053\u308c\u306f\u3069\u3046\u3044\u3046\u3053\u3068\u304b\u3068\u3044\u3046\u3068\u3001\u30bb\u30f3\u30b5\u30fc\u3084\u69d8\u3005\u306a\u30c4\u30fc\u30eb\u306e\u4e00\u90e8\u304b\u3089\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u30c7\u30fc\u30bf\u3092\u76f4\u63a5\u4f55\u304b\u306b\u9001\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u3053\u306e\u5834\u5408\u306fGridDB\u306b\u76f4\u63a5\u9001\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u305d\u306e\u9006\u3082\u53ef\u80fd\u3067\u3001GridDB\u30b3\u30f3\u30c6\u30ca\u304b\u3089\u30c7\u30fc\u30bf\u3092\u76f4\u63a5\u30ed\u30ae\u30f3\u30b0\u5206\u6790\u306a\u3069\u306e\u4ed6\u306e\u30c4\u30fc\u30eb\u3084\u69d8\u3005\u306a\u30c4\u30fc\u30eb\u306b\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u524d\u306e\u30d6\u30ed\u30b0\u3067\u3001Apache Kafka\u3092\u4f7f\u3063\u3066\u3001JDBC\u63a5\u7d9a\u3067GridDB\u30b5\u30fc\u30d0\u306b\u76f4\u63a5\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30c7\u30fc\u30bf\u3092\u30ed\u30fc\u30c9\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u304b\u3089\u4ee5\u524d\u306e\u30d6\u30ed\u30b0\u3092\u8aad\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<a href=\"https:\/\/griddb.net\/en\/blog\/using-kafka-with-griddb\/\">Kafka\u3068GridDB\u306e\u9023\u643a<\/a>\u3001<a href=\"https:\/\/griddb.net\/en\/blog\/using-griddb-as-a-source-for-kafka-with-jdbc\/\">JDBC\u3067Kafka\u306e\u30bd\u30fc\u30b9\u3068\u3057\u3066GridDB\u3092\u4f7f\u7528\u3059\u308b<\/a>\u3002<\/p>\n<p>\u4eca\u56de\u306f\u3001\u65b0\u3057\u304f\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fGridDB Kafka Connector\u3092\u5229\u7528\u3057\u3066\u3001GridDB\u3068Kafka\u3092\u9023\u643a\u3055\u305b\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002\u524d\u56de\u306fJDBC\u3092\u4ecb\u3057\u305fGridDB\u3068Kafka\u306e\u9023\u643a\u306b\u7126\u70b9\u3092\u5f53\u3066\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u30b3\u30cd\u30af\u30bf\u3067\u306f\u3001JDBC\u306f\u4e0d\u8981\u3068\u306a\u308a\u3001\u30b7\u30f3\u30af\u30b3\u30cd\u30af\u30bf\u3068\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u901a\u3058\u3066Kafka\u304b\u3089\u76f4\u63a5GridDB\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002GridDB Kafka\u30b7\u30f3\u30af\u30b3\u30cd\u30af\u30bf\u306f\u3001Apache Kafka\u306e\u30c8\u30d4\u30c3\u30af\u304b\u3089\u30c7\u30fc\u30bf\u3092\u30d7\u30c3\u30b7\u30e5\u3057\u3001\u305d\u306e\u30c7\u30fc\u30bf\u3092GridDB\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u6c38\u7d9a\u5316\u3057\u307e\u3059\u3002\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u306f\u305d\u306e\u9006\u3067\u3001GridDB\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u51fa\u3057\u3066Kafka\u306e\u30c8\u30d4\u30c3\u30af\u306b\u683c\u7d0d\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3092\u8aac\u660e\u3059\u308b\u305f\u3081\u306b\u30012\u7a2e\u985e\u306e\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001kafka\u306e\u30c8\u30d4\u30c3\u30af\u304b\u3089GridDB\u30b5\u30fc\u30d0\u30fc\u306b\u76f4\u63a5\u30c7\u30fc\u30bf\u3092\u30d7\u30c3\u30b7\u30e5\u3057\uff08Sink\uff09\u3001\u305d\u306e\u9006\uff08Source\uff09\u3082\u884c\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u624b\u9806\u3067\u306f\u6700\u7d42\u7684\u306b5\u7a2e\u985e\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u304f\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u30bf\u30fc\u30df\u30ca\u30eb1\uff1aGridDB gs_sh\u3067GridDB\u306e\u52d5\u4f5c\u3092\u78ba\u8a8d\u3059\u308b\u3002<\/li>\n<li>\u30bf\u30fc\u30df\u30ca\u30eb2\u30013\uff1aKafka Zookeper\u3001Kafka\u30b5\u30fc\u30d0\u30fc\u3092\u5b9f\u884c\u3059\u308b\u3002<\/li>\n<li>\u30bf\u30fc\u30df\u30ca\u30eb4\uff1aGridDB Kafka\u306e\u30b7\u30f3\u30af\u304a\u3088\u3073\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u5b9f\u884c\u3059\u308b\u3002<\/li>\n<li>\u30bf\u30fc\u30df\u30ca\u30eb5\uff1a\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c\u3001\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u30c1\u30a7\u30c3\u30af\u3059\u308b\u3002<\/li>\n<\/ul>\n<h2>\u74b0\u5883\u30fb\u7aef\u672b\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b<\/h2>\n<p>\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f\u3001\u3059\u3079\u3066\u306e\u4e8b\u524d\u6e96\u5099\u3092\u89e3\u8aac\u3057\u3001\u9069\u5207\u306a\u30b5\u30fc\u30d0\u30fb\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u3001Kafka <a href=\"https:\/\/kafka.apache.org\/intro#intro_concepts_and_terms\">&#8220;topics&#8221;<\/a> \u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u30c7\u30fc\u30bf\u3092GridDB\u30b5\u30fc\u30d0\uff08Sink \u30b3\u30cd\u30af\u30bf\uff09\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u3066\u4fdd\u5b58\u3057\u3001\u30e9\u30a4\u30d6\u30b7\u30e7\u30fc\u30b1\u30fc\u30b9\u3092\u884c\u3044\u3001\u6700\u5f8c\u306bGridDB\u304b\u3089\u76f4\u63a5Kafka\u30c8\u30d4\u30c3\u30af\uff08Source Connector\uff09\u306b\u30c7\u30fc\u30bf\u3092\u5f15\u304d\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<h3>\u4e8b\u524d\u6e96\u5099<\/h3>\n<p>\u4eca\u5f8c\u306e\u624b\u9806\u3092\u30d5\u30a9\u30ed\u30fc\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u3068\u306a\u308b\u4ee5\u4e0b\u306e\u3082\u306e\u3092\u3042\u3089\u304b\u3058\u3081\u7528\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<ul>\n<li>Java<\/li>\n<li>Maven (GridDB Kafka Connector\u3092\u30bd\u30fc\u30b9\u304b\u3089\u30d3\u30eb\u30c9\u3059\u308b\u5834\u5408\u306e\u307f)<\/li>\n<li><a href=\"https:\/\/kafka.apache.org\/downloads\">Kafka<\/a><\/li>\n<li>\n<p><a href=\"https:\/\/docs.griddb.net\/latest\/gettingstarted\/using-apt\/\">GridDB<\/a><\/p>\n<p>\u307e\u305f\u3001https:\/\/github.com\/griddbnet\/Blogs\/tree\/kafka\u3000\u304b\u3089\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u53c2\u7167\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30ec\u30dd\u3067\u306f\u3001\u57fa\u672c\u7684\u306a\u90e8\u5206\uff08\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3001\u30c7\u30fc\u30bf\u3001bash\u30b9\u30af\u30ea\u30d7\u30c8\uff09\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u304c\u3001GridDB\u3001Kafka\u3001GridDB Kafka\u30b3\u30cd\u30af\u30bf\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<\/li>\n<\/ul>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ git clone https:\/\/github.com\/griddbnet\/Blogs.git --branch kafka<\/code><\/pre>\n<\/div>\n<p>\u3082\u3046\u3072\u3068\u3064\u3001kafka\u306ebin\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u306e\u30d1\u30b9\u3092PATH\u306b\u8ffd\u52a0\u3057\u3066\u304a\u304f\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u304f\u305f\u3073\u306b\u3084\u3063\u3066\u3082\u3044\u3044\u3067\u3059\u3057\u3001\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb<code>$ vim ~\/.bashrc<\/code>\u306b\u8ffd\u52a0\u3057\u3066\u3082\u3044\u3044\u3067\u3057\u3087\u3046\u3002\u305d\u3057\u3066\u3001\u30d1\u30b9\u306b\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre><code class=\"bash\">export PATH=$PATH:\/home\/israel\/kafka_project\/kafka_2.13-3.2.1\/bin\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u3001\u65b0\u3057\u3044\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u3044\u305f\u3068\u304d\u306b\u3044\u3064\u3067\u3082kafka\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u307e\u305f\u3001\u6700\u60aa\u306e\u5834\u5408\u3001\u3046\u307e\u304f\u3044\u304b\u306a\u3044\u5834\u5408\u306f\u3001<code>$ source ~\/.bashrc<\/code>\u3067\u5f37\u5236\u7684\u306b\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3000<\/p>\n<h3>GridDB Kafka\u30b3\u30cd\u30af\u30bf\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/h3>\n<p>Connector\u306e\u30ec\u30dd\u306b\u79fb\u52d5\u3057\u3066\u3001\u30af\u30ed\u30fc\u30f3\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ git clone https:\/\/github.com\/griddb\/griddb-kafka-connect.git\n$ cd griddb-kafka-connect\/<\/code><\/pre>\n<\/div>\n<p>Kafka\u30b3\u30cd\u30af\u30bf\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u3089\u3001\u5fc5\u8981\u306a<code>.jar<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u30d3\u30eb\u30c9\u3059\u308b\u304b\u3001\u3053\u306e\u30d6\u30ed\u30b0\u3067\u5148\u306b\u5171\u6709\u3057\u305f\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u76f4\u63a5\u53d6\u5f97\u3057\u3001\u3067\u304d\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u9069\u5207\u306a\u5834\u6240\u306b\u79fb\u52d5\u3055\u305b\u307e\u3059\u3002\u30d3\u30eb\u30c9\u3059\u308b\u65b9\u6cd5\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ mvn clean install<\/code><\/pre>\n<\/div>\n<p>\u81ea\u5206\u3067\u30d3\u30eb\u30c9\u3059\u308b\u306e\u304c\u9762\u5012\u306a\u5834\u5408\u306f\u3001GitHub\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u540c\u68b1\u3055\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30d4\u30fc\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code>.jar<\/code> \u30d5\u30a1\u30a4\u30eb(<code>griddb-kafka-connector-0.5.jar<\/code>\uff09\u3092kafka\u30c7\u30a3\u30ec\u30af\u30c8\u30ea \u3067\u3042\u308b<code>.\/libs<\/code> \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>Kafka\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/h3>\n<p>kafka\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ wget https:\/\/archive.apache.org\/dist\/kafka\/3.2.0\/kafka_2.12-3.2.0.tgz\n$ tar xzvf kafka_2.12-3.2.0.tgz\n$ cd kafka_2.12-3.2.0\n$ export PATH=$PATH:$PWD\/bin<\/code><\/pre>\n<\/div>\n<p>PATH\u74b0\u5883\u5909\u6570\u306bkafka\u3092\u8ffd\u52a0\u3059\u308b\u306e\u306f\u3001\u305d\u306e\u7279\u5b9a\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u306e\u307f\u884c\u308f\u308c\u307e\u3059\u30022\u3064\u76ee\uff08\u307e\u305f\u306f3\u3064\u76ee\u306a\u3069\uff09\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u3044\u305f\u5834\u5408\u306f\u3001\u74b0\u5883\u5909\u6570\u3092\u518d\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u304b\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u3078\u306e\u30a8\u30f3\u30bf\u30fc\u30d1\u30b9\u3092\u624b\u52d5\u3067\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3082\u3061\u308d\u3093\u3001\u30e6\u30fc\u30b6\u30fc\u306e <code>.basrc<\/code> \u3084 <code>.bash_profile<\/code> \u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>GridDB\u30b7\u30f3\u30af\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u8a2d\u5b9a\u3059\u308b<\/h3>\n<p>GridDB\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u306b\u306f\u3001Blogs\u30d5\u30a9\u30eb\u30c0\uff08\u5148\u307b\u3069\u5171\u6709\u3057\u305fGitHub\u30ea\u30dd\u30b8\u30c8\u30ea\uff09\u304b\u3089griddb-sink.properties\u3092kafka\/config\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\u3053\u306e\u90e8\u5206\u3092\u624b\u52d5\u3067\u7de8\u96c6\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u8aac\u660e\u3092\u8aad\u307f\u9032\u3081\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u3066\u3001\u7a3c\u50cd\u4e2d\u306eGridDB\u306e\u30b5\u30fc\u30d0\u30fc\u306e\u8a8d\u8a3c\u60c5\u5831\u3068\u3001Kafka\u30c8\u30d4\u30c3\u30af\u3067\u53d6\u308a\u8fbc\u3080\u3053\u3068\u3092\u76ee\u7684\u3068\u3059\u308b\u30c8\u30d4\u30c3\u30af\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30d5\u30a1\u30a4\u30eb\u540d\u306f <code>griddb-sink.properties<\/code> \u3067\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001GridDB\u30b5\u30fc\u30d0\u30fc\u306e\u60c5\u5831\u3092\u5165\u529b\u3057\u307e\u3059\u3002\u4eca\u56de\u306fFIXED_LIST\u30e2\u30fc\u30c9\u306a\u306e\u3067\u3001\u901a\u77e5\u5148\u30e1\u30f3\u30d0\u30fc\u3092\u7de8\u96c6\u3057\u3001host\u3068port\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u6700\u5f8c\u306b\u3001GridDB\u30b5\u30fc\u30d0\u306b\u53d6\u308a\u8fbc\u3080\u30c8\u30d4\u30c3\u30af\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">#host=239.0.0.1\n#port=31999\ncluster.name=myCluster\nuser=admin\npassword=admin\nnotification.member=127.0.0.1:10001\n#notification.provider.url=\n\n#topics.regex=csh(.*)\n#topics.regex=topic.(.*)\ntopics=device7,device8,device9,device10\n\ntransforms=TimestampConverter\ntransforms.TimestampConverter.type=org.apache.kafka.connect.transforms.TimestampConverter$Value\ntransforms.TimestampConverter.format=yyyy-MM-dd hh:mm:ss.SSS\ntransforms.TimestampConverter.field=ts\ntransforms.TimestampConverter.target.type=Timestamp<\/code><\/pre>\n<\/div>\n<p>\u3053\u3053\u3067\u306f\u3001GridDB Sink \u30b3\u30cd\u30af\u30bf\u306b\u3053\u308c\u3089\u306e\u30c8\u30d4\u30c3\u30af\u3092\u63a2\u3059\u3088\u3046\u306b\u660e\u793a\u7684\u306b\u6307\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u3082\u3061\u308d\u3093\u3001\u3088\u308a\u4e00\u822c\u7684\u306b\u3057\u305f\u3044\u306e\u3067\u3042\u308c\u3070\u3001\u5358\u306b\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001\u4eca\u56de\u306e\u3088\u3046\u306a\u30c7\u30e2\u306e\u76ee\u7684\u3067\u306f\u3001\u3053\u308c\u3067\u554f\u984c\u306a\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u307e\u305f\u3001\u6700\u5f8c\u306b\u30df\u30ea\u79d2\u3092\u542b\u3081\u308b\u305f\u3081\u306b\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u5909\u66f4\u3057\u3001\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u30ab\u30e9\u30e0\u540d\uff08\u3053\u306e\u5834\u5408\u306f <code>ts<\/code>\uff09\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u305f\u3089\u3001\u30b3\u30d4\u30fc\u3092 <code>kafka_2.13-3.2.1\/config<\/code> \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>GridDB\u30bd\u30fc\u30b9\u30b3\u30f3\u30d5\u30a3\u30b0\u30d5\u30a1\u30a4\u30eb\u3092\u8a2d\u5b9a\u3059\u308b<\/h3>\n<p>\u3082\u3057\u3001\u5148\u307b\u3069\u8aac\u660e\u3057\u305f\u3053\u3068\u306e\u9006\uff08\u4fdd\u5b58\u3057\u305fGridDB\u30b3\u30f3\u30c6\u30ca\u3092Kafka\u306b\u30d7\u30c3\u30b7\u30e5\u3059\u308b\uff09\u3092\u884c\u3044\u305f\u3044\u5834\u5408\u306f\u3001\u4ee3\u308f\u308a\u306bGridDB\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u307e\u305a\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002GRIDDB_KAFKA_CONNECTOR_FOLDER\/config \u306b\u3042\u308b <code>griddb-source.properties<\/code> \u3092\u7de8\u96c6\u3057\u307e\u3059\u3002GridDB\u63a5\u7d9a\u306e\u8a73\u7d30\u3068\u30b3\u30f3\u30c6\u30ca\u30fb\u30c8\u30d4\u30c3\u30af\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3082\u3061\u308d\u3093\u3001\u524d\u56de\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068\u540c\u69d8\u306b\u3001\u4eca\u56de\u4f7f\u7528\u3057\u305f\u30d0\u30fc\u30b8\u30e7\u30f3\u306f<a href=\"https:\/\/github.com\/griddbnet\/Blogs\/blob\/kafka\/griddb-source.properties\">GitHub\u306e\u30ea\u30dd\u30b8\u30c8\u30ea<\/a>\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u7de8\u3067\u306f\u3001<a href=\"https:\/\/www.kaggle.com\/code\/rjconstable\/environmental-sensor-telemetry-dataset\">Kaggle<\/a>\u304b\u3089\u53d6\u308a\u8fbc\u3093\u3060\u3053\u308c\u3089\u306e\u5927\u898f\u6a21\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u76f4\u63a5\u5909\u66f4\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">containers=device1,device2,device3,device4<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e2\u3064\u306e\u30d5\u30a1\u30a4\u30eb\uff08\u30b7\u30f3\u30af\u3068\u30bd\u30fc\u30b9\uff09\u306e\u5927\u304d\u306a\u9055\u3044\u306e1\u3064\u306f\u3001\u30bd\u30fc\u30b9\u3067\u306f\u6b21\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\uff08\u5fc5\u9808\uff09\u304c\u5fc5\u8981\u306b\u306a\u308b\u3053\u3068\u3067\u3059\u3002\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u306f\u3001\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u884c\u306e\u30ad\u30fc\uff08device7\u3067\u306f<code>ts<\/code>\uff09\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">timestamp.column.name=ts\nmode=timestamp<\/code><\/pre>\n<\/div>\n<p><code>mode=batch<\/code> \u3092\u4f7f\u3046\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u5834\u5408\u3001 <code>timestamp.column.name<\/code> \u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u4f7f\u308f\u308c\u305a\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u4f55\u5ea6\u3082\u30eb\u30fc\u30d7\u3057\u3066\u66f4\u65b0\u3057\u307e\u3059\u3002\u4e00\u65b9\u3001\u524d\u8005\u306e\u30e2\u30fc\u30c9\uff08timestamp\uff09\u3067\u306f\u30011\u56de\u3060\u3051\uff08\u30ad\u30e5\u30fc\u304c\u306a\u304f\u306a\u308b\u307e\u3067\uff09\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001\u3053\u308c\u3067\u30d7\u30ed\u30bb\u30b9\u30fb\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3059\u308b\u6e96\u5099\u304c\u6574\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u3053\u3067\u3082\u3001<code>kafka_2.13-3.2.1.config<\/code>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>\u5fc5\u8981\u306a\u30b5\u30fc\u30d0\u30fc\u30fb\u30b7\u30b9\u30c6\u30e0\u3092\u7acb\u3061\u4e0a\u3052\u308b<\/h2>\n<p>\u3053\u308c\u3067\u3059\u3079\u3066\u304c\u6574\u3063\u305f\u306e\u3067\u3001\u73fe\u5728\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020\u3092\u7c21\u5358\u306b\u632f\u308a\u8fd4\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u3068\u3044\u3046\u308f\u3051\u3067\u3001\u3053\u306e\u307e\u307e\u9032\u3080\u3068\u30013\u3064\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<p>\/home\/you\/kafka_project\/ \u251c\u2500 kafka_2.13-3.2.1\/ \u251c\u2500 griddb-kafka-connect\/ \u251c\u2500 Blogs\/<\/p>\n<p>\u6700\u521d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea (<code>kafka_2.13-3.2.1<\/code>) \u306f\u3001kafka \u306e\u30e1\u30a4\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u3059\u30022\u756a\u76ee\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea(<code>griddb-kafka-connect\/<\/code>)\u306fGridDB kafka\u30b3\u30cd\u30af\u30bf\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u3001\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u306fGridDB\u56fa\u6709\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08\u624b\u52d5\u3067\u7de8\u96c6\u3059\u308b\u304bGitHub\u304b\u3089\u76f4\u63a5\u53d6\u5f97\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3001\u305f\u3060\u3057\u3053\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u306fkafka\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff09\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u30023\u3064\u76ee\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff08<code>Blogs<\/code>\uff09\u306f\u3001\u3053\u306e\u30d6\u30ed\u30b0\u306e\u305f\u3081\u306b\u4f5c\u3089\u308c\u305f\u3082\u306e\u3067\u3001Kafka\u306e\u8a2d\u5b9a\u304c\u542b\u307e\u308c\u3066\u304a\u308a\u3001\u8a72\u5f53\u3059\u308b\u5834\u5408\u306fKafka\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u3001\u3053\u308c\u3092\u52d5\u304b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>GridDB\u30b5\u30fc\u30d0\uff08\u30bf\u30fc\u30df\u30ca\u30eb1\uff09\u3092\u8d77\u52d5\u3059\u308b<\/h3>\n<p>\u6700\u521d\u306b\u3001GridDB\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5f93\u3063\u3066\u884c\u3044\u307e\u3059\u3002https:\/\/docs.griddb.net\/gettingstarted\/using-apt\/<\/p>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001GridDB\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre><code>$ sudo systemctl start gridstore\n<\/code><\/pre>\n<p>\u3053\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u3044\u3066\u304a\u304d\u3001<code>gs_sh<\/code>\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u901a\u3057\u3066GridDB\u3068\u5bfe\u8a71\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u305d\u3046\u3059\u308b\u305f\u3081\u306b\u306f\u3001<\/p>\n<pre><code class=\"bash\">$ sudo su gsadm\n$ gs_sh\ngs&gt; \n<\/code><\/pre>\n<h3>Kafka \u306e\u6e96\u5099<\/h3>\n<p>\u6b21\u306b\u3001\u3053\u308c\u3092\u52d5\u4f5c\u3055\u305b\u308b\u305f\u3081\u306b\u306f\u3001Kafka\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u6700\u521d\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u8ff0\u3079\u305f\u3088\u3046\u306b\u3001kafka\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30d1\u30b9\u306b\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u5fc5\u8981\u3067\u3059\u3002\u3053\u3053\u3067\u3082\u3046\u4e00\u5ea6\u3001\u305d\u306e\u30b3\u30de\u30f3\u30c9\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ export PATH=$PATH:\/path\/to\/kafka_2.13-3.2.1\/bin<\/code><\/pre>\n<\/div>\n<h3>Kafka\u3092\u8d77\u52d5\u3059\u308b\uff08\u30bf\u30fc\u30df\u30ca\u30eb2\u30013\uff09<\/h3>\n<p>\u30bf\u30fc\u30df\u30ca\u30eb2\u3067kafka\u306ezookeeper\u3068\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\u3002<code>kafka_2.13-3.2.1<\/code> \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u3001<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ zookeeper-server-start.sh config\/zookeeper.properties<\/code><\/pre>\n<\/div>\n<p>\u305d\u3057\u3066\u3001\u5225\u306e\u7aef\u672b\u30bf\u30fc\u30df\u30ca\u30eb(3)\u3067\u524d\u3068\u540c\u3058\u304f<code>kafka_2.13-3.2.1<\/code>\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u3001<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ kafka-server-start.sh config\/server.properties<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u3067Kafka\u306e\u6e96\u5099\u306f\u307b\u307c\u6574\u3044\u307e\u3057\u305f\u3002\u7d9a\u3051\u3066\u30014\u3064\u76ee\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>GridDB Kafka \u30b3\u30cd\u30af\u30bf\u3092\u5b9f\u884c\u3059\u308b\uff08\u30bf\u30fc\u30df\u30ca\u30eb4\uff09<\/h3>\n<p>\u305d\u308c\u3067\u306f\u3001\u3044\u3088\u3044\u3088GridDB\u306e\u30b7\u30f3\u30af\u30b3\u30cd\u30af\u30bf\u3068\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u540c\u3058\u30bf\u30fc\u30df\u30ca\u30eb\u30671\u3064\u306e\u30b3\u30de\u30f3\u30c9\u3067\u7acb\u3061\u4e0a\u3052\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>kafka\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\"> \n$ connect-standalone.sh config\/connect-standalone.properties PATH_TO_KAFKA\/config\/griddb-sink.properties PATH_TO_KAFKA\/config\/griddb-source.properties<\/code><\/pre>\n<\/div>\n<h2>GridDB Sink \u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u7528\u3059\u308b<\/h2>\n<p>\u5148\u306b\u8aac\u660e\u3057\u305f\u3088\u3046\u306b\u3001SINK\u30b3\u30cd\u30af\u30bf\u306fKafka\u30c8\u30d4\u30c3\u30af\u304b\u3089\u76f4\u63a5GridDB\u306b\u30c7\u30fc\u30bf\u3092\u5f15\u304d\u8fbc\u307f\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306e\u52d5\u4f5c\u3092\u7406\u89e3\u3059\u308b\u305f\u3081\u306b\u3001\u3053\u306e\u3053\u3068\u3092\u899a\u3048\u3066\u304a\u304d\u3001SOURCE\u30b3\u30cd\u30af\u30bf\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u3082\u3046\u4e00\u5ea6\u601d\u3044\u51fa\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30d0\u30c3\u30c1\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u884c\u3044\u3001\u305d\u306e\u5f8cSINK\u3092\u4f7f\u7528\u3057\u305f\u30e9\u30a4\u30d6\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u7d39\u4ecb\u3059\u308b\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<h3>\u30d0\u30c3\u30c1\u3092\u53d6\u308a\u8fbc\u3080\uff08Sink\u30b3\u30cd\u30af\u30bf\uff09<\/h3>\n<p>\u3055\u3066\u3001Sink\u30b3\u30cd\u30af\u30bf\u3092\u8d77\u52d5\u3057\u305f\u3068\u3053\u308d\u3067\u3001\u30d0\u30c3\u30c1\u306e\u4f7f\u7528\u72b6\u6cc1\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u307e\u305a\u3001\u3044\u304f\u3064\u304b\u306e\u30c7\u30fc\u30bf\u3092\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<h4>\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3057\u305f\u30bb\u30f3\u30b5\u30c7\u30fc\u30bf\u3092\u8a2d\u5b9a\u3059\u308b<\/h4>\n<p>Kafka\u306f\u30c8\u30d4\u30c3\u30af\u3092\u30c7\u30fc\u30bf\u30da\u30a4\u30ed\u30fc\u30c9\u3068\u3057\u3066\u52d5\u4f5c\u3055\u305b\u308b\u305f\u3081\u3001\u3044\u304f\u3064\u304b\u306e\u30b5\u30f3\u30d7\u30eb\u30c8\u30d4\u30c3\u30af\u3092\u7528\u610f\u3057\u3001\u4f55\u304c\u8d77\u3053\u3063\u3066\u3044\u308b\u306e\u304b\u3092\u78ba\u5b9f\u306b\u628a\u63e1\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\u3067\u306f\u3001\u6b21\u306b\u9032\u3080\u524d\u306b\u3001\u540c\u68b1\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3068.txt\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3001\u3044\u304f\u3064\u304b\u306e\u30c8\u30d4\u30c3\u30af\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h4>Kafka\u30c8\u30d4\u30c3\u30af\u3092\u4f5c\u6210\u3059\u308b\uff08\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f7f\u7528\uff09<\/h4>\n<p>\u3053\u306e\u90e8\u5206\u306b\u542b\u307e\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001Blogs\u30d5\u30a9\u30eb\u30c0\u304b\u3089<code>script_sink.sh<\/code>\u3068<code>simulate_sensor.txt<\/code>\u3092kafka\u306e\u30eb\u30fc\u30c8\u30d5\u30a9\u30eb\u30c0\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u5b9f\u969b\u306e\u4f8b\u3067\u306f\u3001\u30bb\u30f3\u30b5\u30fc\u304c\u500b\u5225\u306bKafka\u30c8\u30d4\u30c3\u30af\u3092\u8a2d\u5b9a\u3057\u3001Kafka\u30b5\u30fc\u30d0\u30fc\u304c\u305d\u308c\u3092\u62fe\u3063\u3066GridDB\u306b\u9001\u4fe1\u3059\u308b\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u30c7\u30e2\u306a\u306e\u3067\u3001bash\u30b9\u30af\u30ea\u30d7\u30c8\u3068<code>.txt<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u3063\u3066\u30c8\u30d4\u30c3\u30af\u751f\u6210\u90e8\u5206\u3092\u7c21\u5358\u306b\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306f\u3001<code>simulate_sensor.txt<\/code>\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u5bb9\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">2020-07-12 00:01:34.735 device7 0.0028400886071015706 76.0 false 0.005114383400977071 false 0.013274836704851536 19.700000762939453\n2020-07-12 00:02:02.785 device8 0.0029050147565559603 75.80000305175781 false 0.005198697479294309 false 0.013508733329556249 19.700000762939453\n2020-07-12 00:02:11.476 device9 0.0029381156266604295 75.80000305175781 false 0.005241481841731117 false 0.013627521132019194 19.700000762939453\n2020-07-12 00:02:15.289 device10 0.0028400886071015706 76.0 false 0.005114383400977071 false 0.013274836704851536 19.700000762939453\n2020-07-12 00:02:19.641 device7 0.0028400886071015706 76.0 false 0.005114383400977071 false 0.013274836704851536 19.799999237060547\n2020-07-12 00:02:28.818 device8 0.0029050147565559603 75.9000015258789 false 0.005198697479294309 false 0.013508733329556249 19.700000762939453\n2020-07-12 00:02:33.172 device9 0.0028400886071015706 76.0 false 0.005114383400977071 false 0.013274836704851536 19.799999237060547\n2020-07-12 00:02:39.145 device10 0.002872341154862943 76.0 false 0.005156332935627952 false 0.013391176782176004 19.799999237060547\n2020-07-12 00:02:47.256 device7 0.0029050147565559603 75.9000015258789 false 0.005198697479294309 false 0.013508733329556249 19.700000762939453<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u304cGridDB\u306b\u516c\u958b\u3059\u308b\u3053\u3068\u3092\u76ee\u7684\u3068\u3057\u305f\u30c7\u30fc\u30bf\u3067\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001<code>script_sink.sh<\/code>\u3068\u3044\u3046bash\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5185\u5bb9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">#!\/bin\/bash\n\nfunction echo_payload {\n    echo '{\"payload\": {\"ts\": \"'$1 $2'\",\"sensor\": \"'$3'\",\"co\": '$4',\"humidity\": '$5',\"light\": \"'$6'\",\"lpg\": '$7',\"motion\": \"'$8'\",\"smoke\": '$9',\"temp\": '${10}'},\"schema\": {\"fields\": [{\"field\": \"ts\",\"optional\": false,\"type\": \"string\"},{\"field\": \"sensor\",\"optional\": false,\"type\": \"string\"},{\"field\": \"co\",\"optional\": false,\"type\": \"double\"},{\"field\": \"humidity\",\"optional\": false,\"type\": \"double\"},{\"field\": \"light\",\"optional\": false,\"type\": \"boolean\"},{\"field\": \"lpg\",\"optional\": false,\"type\": \"double\"},{\"field\": \"motion\",\"optional\": false,\"type\": \"boolean\"},{\"field\": \"smoke\",\"optional\": false,\"type\": \"double\"},{\"field\": \"temp\",\"optional\": false,\"type\": \"double\"}],\"name\": \"iot\",\"optional\": false,\"type\": \"struct\"}}'\n}\n\nTOPICS=()\n\nfor file in `find $1 -name *simulate_sensor.txt` ; do\n    echo $file\n    head -10 $file |while read -r line ; do\n        SENSOR=`echo ${line} | awk '{ print $3 }'`\n        if [[ ! \" ${TOPICS[@]} \" =~ \" ${SENSOR} \" ]]; then\n            echo Creating topic ${SENSOR}\n            kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic  ${SENSOR} 2&>1 \/dev\/null\n            TOPICS+=(${SENSOR})\n        fi\n        echo_payload ${line} | kafka-console-producer.sh --topic ${SENSOR} --bootstrap-server localhost:9092\n    done\ndone<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u3001\u751f\u30c7\u30fc\u30bf\u306e\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30fc\u30bf\u3067\u30c8\u30d4\u30c3\u30af\u3092\u751f\u6210\u3057\u3001\u9069\u5207\u306akafka\u30d7\u30ed\u30bb\u30b9\u306b\u9001\u4fe1\u3057\u307e\u3059\u3002<\/p>\n<p>\u3064\u307e\u308a\u30011\u3064\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u30c8\u30d4\u30c3\u30af\uff08device7\u3001device8\u3001device9\u3001device10\uff09\u3092\u4f5c\u6210\u3057\u3001\u3055\u3089\u306b\u305d\u3053\u306b\u3044\u304f\u3064\u304b\u306e\u30da\u30a4\u30ed\u30fc\u30c9\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\u3057\u3066\u3001\u305d\u308c\u3089\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u9069\u5207\u306a\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u3066kafka\u30d7\u30ed\u30bb\u30b9\u306b\u30d5\u30a3\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001GridDB\u306e\u30b7\u30f3\u30af\u30fb\u30b3\u30cd\u30af\u30bf\u304c\u5229\u7528\u53ef\u80fd\u306b\u306a\u3063\u305f\u6642\u70b9\u3067\u3001\u30c7\u30fc\u30bf\u304c\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3089\u308c\u3001\u53d6\u308a\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ chmod +x script_sink.sh\n$ .\/script_sink.sh<\/code><\/pre>\n<\/div>\n<pre><code>Creating topic device7\nCreating topic device8\nCreating topic device9\nCreating topic device10\n<\/code><\/pre>\n<p>\u3053\u306e\u3088\u3046\u306bKafka\u3092\u4f7f\u3046\u5834\u5408\u3001\u57fa\u672c\u7684\u306b\u306fKafka\u306e\u30c8\u30d4\u30c3\u30af\u306b\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u9001\u3063\u3066\u6e9c\u3081\u3066\u304a\u304d\u3001Kafka\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3089\uff08\u3042\u308b\u3044\u306f\u3053\u306e\u5834\u5408\u306fKafka\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u5b9f\u884c\u3057\u305f\u3089\uff09\u3001\u30c8\u30d4\u30c3\u30af\u3092\u53d7\u3051\u53d6\u3063\u3066\u305d\u306e\u307e\u307eGridDB\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3067\u751f\u6210\u3055\u308c\u308b\u5927\u91cf\u306e\u51fa\u529b\u304b\u3089\u3001GridDB\u306b\u30c8\u30d4\u30c3\u30af\u304c\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u304c\u78ba\u8a8d\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<pre><code>Put records to GridDB with number records 9 (com.github.griddb.kafka.connect.sink.GriddbSinkTask:54)\n<\/code><\/pre>\n<p>\u30c8\u30d4\u30c3\u30af\u304c\u4e0d\u6b63\u306a\u5f62\u3067\u7d42\u4e86\u3057\u3001\u305d\u308c\u3092\u4fee\u6b63\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u3001\u30c8\u30d4\u30c3\u30af\u3092\u524a\u9664\u3057\u3066\u30d7\u30ed\u30bb\u30b9\u3092\u518d\u958b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic device7<\/code><\/pre>\n<\/div>\n<h4>\u5358\u4f53\u3067\u306e\u4f7f\u7528\uff08Sink\u30b3\u30cd\u30af\u30bf\uff09<\/h4>\n<p>\u6b21\u306b\u3001\u30c8\u30d4\u30c3\u30af\u4f5c\u6210\u5f8c\u3001GridDB\u30b7\u30f3\u30af\u3092\u8d77\u52d5\u3057\u305f\u5f8c\u306b\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u9001\u4fe1\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u76ee\u7684\u306f\u3001GridDB\u306b\u633f\u5165\u3055\u308c\u308b\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u30e9\u30a4\u30d6\u3067\u898b\u305b\u308b\u3053\u3068\u3067\u3059\u3002Sink\u3092\u8d77\u52d5\u3057\u305f\u307e\u307e\u3001\u9001\u4fe1\u3059\u308b\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u3001\u3082\u3057\u3042\u306a\u305f\u306e <code>\/griddb-kafka-connect\/config\/griddb-sink.properties<\/code> \u304c\u79c1\u306e\u3082\u306e\u3068\u4e00\u81f4\u3059\u308b\u306a\u3089\u3070\uff08\u3064\u307e\u308a\u3001\u30c8\u30d4\u30c3\u30af\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u300c\u660e\u793a\u7684\u300d\u306a\u30b3\u30f3\u30c6\u30ca\u540d\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\uff09\u3001\u30c8\u30d4\u30c3\u30af\u90e8\u5206\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070 device30 \u3092\u30c8\u30d4\u30c3\u30af\u3068\u3057\u3066\u8ffd\u52a0\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u30b7\u30f3\u30af\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u305d\u308c\u3092\u542b\u3081\u3066\u304b\u3089\u3001\u30b3\u30cd\u30af\u30bf\u3092\u518d\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p>\u65b0\u3057\u3044\u30c8\u30d4\u30c3\u30af\u3092\u4f5c\u308b\u3053\u3068\u3092\u30b3\u30cd\u30af\u30bf\u306b\u77e5\u3089\u305b\u305f\u3089\u3001\u5b9f\u969b\u306b\u30c8\u30d4\u30c3\u30af\u3092\u4f5c\u308b\u305f\u3081\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">kafka-console-producer.sh --topic device30 --bootstrap-server 127.0.0.1:9092<\/code><\/pre>\n<\/div>\n<p>\u305d\u3057\u3066\u3001Producer\u306f\u305d\u3053\u306b\u5ea7\u3063\u3066\u3001\u9001\u4fe1\u3059\u308b\u65b0\u3057\u3044\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u5f85\u3061\u307e\u3059\u3002\u3053\u308c\u3067\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u9001\u4fe1\u3057\u3001\u5b9f\u884c\u4e2d\u306eGridDB Sink\u304c\u30c7\u30fc\u30bf\u3092\u53d7\u4fe1\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">> { \"payload\": { \"ts\": \"2022-07-12 08:01:34.126\", \"sensor\": \"device8\", \"co\": 0.0028400886071015706, \"humidity\": 76.0, \"light\": \"false\", \"lpg\": 0.005114383400977071, \"motion\": \"false\", \"smoke\": 0.013274836704851536, \"temp\": 19.700000762939453 }, \"schema\": { \"fields\": [ { \"field\": \"ts\", \"optional\": false, \"type\": \"string\" }, { \"field\": \"sensor\", \"optional\": false, \"type\": \"string\" }, { \"field\": \"co\", \"optional\": false, \"type\": \"double\" }, { \"field\": \"humidity\", \"optional\": false, \"type\": \"double\" }, { \"field\": \"light\", \"optional\": false, \"type\": \"boolean\" }, { \"field\": \"lpg\", \"optional\": false, \"type\": \"double\" }, { \"field\": \"motion\", \"optional\": false, \"type\": \"boolean\" }, { \"field\": \"smoke\", \"optional\": false, \"type\": \"double\" }, { \"field\": \"temp\", \"optional\": false, \"type\": \"double\" } ], \"name\": \"iot\", \"optional\": false, \"type\": \"struct\" } }<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u3092\u9001\u308b\u3068\u3001\u5b9f\u884c\u4e2d\u306eGridDB Sink\u3067\u306f\u3001\u30c8\u30d4\u30c3\u30af\u306e\u5909\u66f4\u3092\u53d7\u4fe1\u3057\u3066\u3001\u305d\u306e\u307e\u307eGridDB\u306b\u767b\u9332\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>[2022-11-18 17:40:07,168] INFO [griddb-kafka-sink|task-0] Put 1 record to buffer of container device30 (com.github.griddb.kafka.connect.sink.GriddbBufferedRecords:75)\n[2022-11-18 17:40:07,169] INFO [griddb-kafka-sink|task-0] Get Container info of container device30 (com.github.griddb.kafka.connect.dialect.GriddbDatabaseDialect:130)\n[2022-11-18 17:40:07,201] INFO [griddb-kafka-sink|task-0] Get Container info of container device30 (com.github.griddb.kafka.connect.dialect.GriddbDatabaseDialect:130)\n<\/code><\/pre>\n<h2>GridDB\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u5b9f\u884c\u3059\u308b<\/h2>\n<p>Source Connector\u306fSink Connector\u306e\u9006\u3067\u3001GridDB\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u307f\u3001Kafka\u30c8\u30d4\u30c3\u30af\u306b\u914d\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001\u3059\u3067\u306b3\u3064\u306e\u304b\u306a\u308a\u5927\u304d\u306aGridDB\u30b3\u30f3\u30c6\u30ca\uff08device1, device2, device3\uff09\u304c\u3042\u308a\u3001PostgreSQL\u304b\u3089\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u305f <a href=\"https:\/\/www.kaggle.com\/datasets\/garystafford\/environmental-sensor-data-132k\">Kaggle<\/a>\u306e\u30c7\u30fc\u30bf\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/griddb.net\/en\/blog\/using-the-griddb-import-export-tools-to-migrate-from-postgresql-to-griddb\/\">\u4ee5\u524d\u306e\u30d6\u30ed\u30b0<\/a>\u3092\u53c2\u7167\u3059\u308c\u3070\u3001\u3053\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u6700\u521d\u306e\u65b9\u306e\u624b\u9806\u3067\u3001Source Connector\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u3001\u3053\u308c\u3089\u306e\u7279\u5b9a\u306e\u30b3\u30f3\u30c6\u30ca\u304b\u3089\u53d6\u5f97\u3057\u305f\u3044\u3053\u3068\u3092\u660e\u793a\u7684\u306b\u8ff0\u3079\u307e\u3057\u305f\u3002Source Connector\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001Kafka\u304cGridDB Database\u304b\u3089\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092\u30c8\u30d4\u30c3\u30af\u306b\u53d6\u308a\u8fbc\u3080\u3068\u3044\u3046\u3082\u306e\u3067\u3059\u3002<\/p>\n<h4>\u30d0\u30c3\u30c1\u306e\u4f7f\u7528\u72b6\u6cc1\uff08\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\uff09<\/h4>\n<p>\u6210\u529f\u3059\u308b\u3068\u3001\u3053\u308c\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u306e\u51fa\u529b\u306b\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>[2022-09-23 18:51:44,262] INFO [griddb-kafka-source|task-0] Get Container info of container device1 (com.github.griddb.kafka.connect.dialect.GriddbDatabaseDialect:130)\n[2022-09-23 18:51:44,276] INFO [griddb-kafka-source|task-0] Get Container info of container device2 (com.github.griddb.kafka.connect.dialect.GriddbDatabaseDialect:130)\n[2022-09-23 18:51:44,277] INFO [griddb-kafka-source|task-0] Get Container info of container device3 (com.github.griddb.kafka.connect.dialect.GriddbDatabaseDialect:130)\n<\/code><\/pre>\n<p>READING\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u691c\u8a3c\u3057\u307e\u3059\u304c\u3001Kafka\u30c8\u30d4\u30c3\u30af\u306b\u306f\u3001\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c6\u30ca\u3068\u305d\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u304cKafka\u306b\u3042\u308b\u306f\u305a\u3067\u3059\u3002Kafka\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u76f4\u63a5\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u3080\u3060\u3051\u306a\u306e\u3067\u3001\u5b9f\u8cea\u7684\u306b\u306f\u30bd\u30fc\u30b9\u3092\u4f7f\u3063\u305f\u30d0\u30c3\u30c1\u51e6\u7406\u306e\u7bc4\u56f2\u3067\u3059\u3002<\/p>\n<h3>\u30e9\u30a4\u30d6\u3067\u53d6\u308a\u8fbc\u3080\uff08\u30bd\u30fc\u30b9\u30b3\u30cd\u30af\u30bf\uff09<\/h3>\n<p>\u3067\u306f\u3001\u4e0a\u8a18\u3067\u884c\u3063\u305f\u3053\u3068\u306e\u30e9\u30a4\u30d6\u3067\u3067\u304d\u308b\u304b\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u30d7\u30ed\u30bb\u30b9\u3092\u5b9f\u884c\u3057\u305f\u307e\u307e\u3001GridDB\u306b\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3057\u3066\u3001\u30c8\u30d4\u30c3\u30af\u304c\u66f4\u65b0\u3055\u308c\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p>Kafka\u30c8\u30d4\u30c3\u30af\u304b\u3089\u76f4\u63a5\u8aad\u307f\u8fbc\u3080\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u8d77\u52d5\u3057\u305f\u307e\u307e\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u305d\u3057\u3066\u3001\u30b3\u30f3\u30bd\u30fc\u30eb\u306e\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30fc\u304c\u8aad\u307f\u8fbc\u3093\u3067\u3044\u308b\u30b3\u30f3\u30c6\u30ca\u306b\u76f4\u63a5\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u307f\u308b\u3068\u3001\u30e9\u30a4\u30d6\u66f4\u65b0\u3055\u308c\u308b\u306e\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u30b3\u30f3\u30c6\u30ca\u306b\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b\u306b\u306f\u3001Python\u30b9\u30af\u30ea\u30d7\u30c8\u3084\u30b7\u30a7\u30eb\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>python\u3092\u4f7f\u3063\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">import griddb_python as griddb\nfrom datetime import datetime, timedelta\n\nfactory = griddb.StoreFactory.get_instance()\nDB_HOST = \"127.0.0.1:10001\"\nDB_CLUSTER = \"myCluster\"\nDB_USER = \"admin\"\nDB_PASS = \"admin\"\n\ntry:\n    # (1) Connect to GridDB\n    # Fixed list method\n    gridstore = factory.get_store(\n        notification_member=DB_HOST, cluster_name=DB_CLUSTER, username=DB_USER, password=DB_PASS)\n\n    # (2) Create a timeseries container - define the schema\n    conInfo = griddb.ContainerInfo(name=\"device4\",\n                                   column_info_list=[[\"ts\", griddb.Type.TIMESTAMP],\n                                                     [\"co\", griddb.Type.DOUBLE],\n                                                     [\"humidity\", griddb.Type.DOUBLE],\n                                                     [\"light\", griddb.Type.BOOL],\n                                                     [\"lpg\", griddb.Type.DOUBLE],\n                                                     [\"motion\", griddb.Type.BOOL],\n                                                     [\"smoke\", griddb.Type.DOUBLE],\n                                                     [\"temperature\", griddb.Type.DOUBLE]],\n                                   type=griddb.ContainerType.TIME_SERIES)\n    # Create the container\n    ts = gridstore.put_container(conInfo)\n    print(conInfo.name, \"container succesfully created\")\n\n    now = datetime.utcnow()\n\n    device4 = gridstore.get_container(\"device4\")\n    if device4 == None:\n        print(\"ERROR Container not found.\")\n\n    device4.put([now, 0.004978, 51.0, True, 0.00764837, True, 0.0204566, 55.2])\n\nexcept griddb.GSException as e:\n    for i in range(e.get_error_stack_size()):\n        print(\"[\", i, \"]\")\n        print(e.get_error_code(i))\n        print(e.get_location(i))\n        print(e.get_message(i))<\/code><\/pre>\n<\/div>\n<p>\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b\u3068\u3001\u30e9\u30a4\u30d6\u30ed\u30fc\u30c9\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre><code>{\"schema\":{\"type\":\"struct\",\"fields\":[{\"type\":\"int64\",\"optional\":false,\"name\":\"org.apache.kafka.connect.data.Timestamp\",\"version\":1,\"field\":\"ts\"},{\"type\":\"double\",\"optional\":true,\"field\":\"co\"},{\"type\":\"double\",\"optional\":true,\"field\":\"humidity\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"light\"},{\"type\":\"double\",\"optional\":true,\"field\":\"lpg\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"motion\"},{\"type\":\"double\",\"optional\":true,\"field\":\"smoke\"},{\"type\":\"double\",\"optional\":true,\"field\":\"temperature\"}],\"optional\":false,\"name\":\"device4\"},\"payload\":{\"ts\":1664308679012,\"co\":0.004978,\"humidity\":51.0,\"light\":true,\"lpg\":0.00764837,\"motion\":true,\"smoke\":0.0204566,\"temperature\":55.2}}\n<\/code><\/pre>\n<p>\u307e\u305f\u306f\u3001GridDB CLI\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ gs_sh\n  gs> putrow device4 2022-09-30T12:30:01.234Z 0.003551 22.0 False 0.00754352 False 0.0232432 33.3<\/code><\/pre>\n<\/div>\n<pre><code>{\"schema\":{\"type\":\"struct\",\"fields\":[{\"type\":\"int64\",\"optional\":false,\"name\":\"org.apache.kafka.connect.data.Timestamp\",\"version\":1,\"field\":\"ts\"},{\"type\":\"double\",\"optional\":true,\"field\":\"co\"},{\"type\":\"double\",\"optional\":true,\"field\":\"humidity\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"light\"},{\"type\":\"double\",\"optional\":true,\"field\":\"lpg\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"motion\"},{\"type\":\"double\",\"optional\":true,\"field\":\"smoke\"},{\"type\":\"double\",\"optional\":true,\"field\":\"temperature\"}],\"optional\":false,\"name\":\"device4\"},\"payload\":{\"ts\":1664308679229,\"co\":0.003551,\"humidity\":22.0,\"light\":false,\"lpg\":0.00754352,\"motion\":false,\"smoke\":0.0232432,\"temperature\":34.3}}\n<\/code><\/pre>\n<h2>\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080<\/h2>\n<p>\u6b21\u306b\u3001\u79fb\u52d5\u3059\u308b\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u306b\u3064\u3044\u3066\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>GridDB\u304b\u3089\u30d0\u30c3\u30c1\u3067\u8aad\u307f\u8fbc\u3080<\/h3>\n<p>GridDB\u304b\u3089\u53d6\u308a\u51fa\u3057\u305f\u30c7\u30fc\u30bf\u3092\uff08Source\u30b3\u30cd\u30af\u30bf\u7d4c\u7531\u3067\uff09Kafka\u306e\u30c8\u30d4\u30c3\u30af\u306b\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ kafka-topics.sh --list --bootstrap-server localhost:9092<\/code><\/pre>\n<\/div>\n<pre><code>device1\ndevice2\ndevice3\ndevice4\n<\/code><\/pre>\n<p>\u305d\u3057\u3066\u3001\u4eca\u5ea6\u306f\u5b9f\u969b\u306b\u30c7\u30fc\u30bf\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ kafka-console-consumer.sh --topic device4 --from-beginning --bootstrap-server localhost:9092<\/code><\/pre>\n<\/div>\n<p>\u305d\u3057\u3066\u3001\u4ee5\u4e0b\u304c\u51fa\u529b\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<pre><code>{\"schema\":{\"type\":\"struct\",\"fields\":[{\"type\":\"int64\",\"optional\":false,\"name\":\"org.apache.kafka.connect.data.Timestamp\",\"version\":1,\"field\":\"ts\"},{\"type\":\"double\",\"optional\":true,\"field\":\"co\"},{\"type\":\"double\",\"optional\":true,\"field\":\"humidity\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"light\"},{\"type\":\"double\",\"optional\":true,\"field\":\"lpg\"},{\"type\":\"boolean\",\"optional\":true,\"field\":\"motion\"},{\"type\":\"double\",\"optional\":true,\"field\":\"smoke\"},{\"type\":\"double\",\"optional\":true,\"field\":\"temp\"}],\"optional\":false,\"name\":\"device2\"},\"payload\":{\"ts\":1594615046659,\"co\":0.004940912471056381,\"humidity\":75.5,\"light\":false,\"lpg\":0.007634034459861942,\"motion\":false,\"smoke\":0.020363432603022532,\"temp\":19.399999618530273}}\n\nProcessed a total of 2 messages\n<\/code><\/pre>\n<h3>GridDB\u304b\u3089\u30c7\u30fc\u30bf\u3092\u30af\u30a8\u30ea\u3059\u308b<\/h3>\n<p>\u307e\u305f\u3001Kafka\u30c8\u30d4\u30c3\u30af\u304b\u3089GridDB\u306b\u633f\u5165\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u51fa\u3057\u3066\u307f\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<a href=\"https:\/\/github.com\/griddb\/cli\">GridDB CLI<\/a>\u3092\u4f7f\u3063\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306bGridDB\u30b5\u30fc\u30d0\u30fc\u306b\u76f4\u63a5\u554f\u3044\u5408\u308f\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ sudo su gsadm\n$ gs_sh\ngs[public]> sql select * from device7;<\/code><\/pre>\n<\/div>\n<pre><code>3 results. (25 ms)\ngs[public]&gt; get\nts,sensor,co,humidity,light,lpg,motion,smoke,temp\n2020-07-12T00:01:34.735Z,device7,0.0028400886071015706,76.0,false,0.005114383400977071,false,0.013274836704851536,19.700000762939453\n2020-07-12T00:02:19.641Z,device7,0.0028400886071015706,76.0,false,0.005114383400977071,false,0.013274836704851536,19.799999237060547\n2020-07-12T00:02:47.256Z,device7,0.0029050147565559603,75.9000015258789,false,0.005198697479294309,false,0.013508733329556249,19.700000762939453\nThe 3 results had been acquired.\n<\/code><\/pre>\n<p>\u3053\u3053\u3067\u306f\u4f8b\u3068\u3057\u3066\u3001Kafka\u304b\u3089GridDB\u3078\u306e\u30c7\u30fc\u30bf\u633f\u5165\u304c\u6210\u529f\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u6642\u70b9\u3067\u3001\u5404\u30c8\u30d4\u30c3\u30af\uff08deviceX\uff09\u306b\u306f\u3001\u540c\u7b49\u306eGridDB\u30b3\u30f3\u30c6\u30ca\u304c\u5b58\u5728\u3059\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u3053\u306e\u3088\u3046\u306b\u3001Kafka\u3092GridDB\u3067\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u76f4\u63a5GridDB\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u8fbc\u3093\u3060\u308a\u3001\u305d\u306e\u9006\u3092\u884c\u3063\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u975e\u5e38\u306b\u4fbf\u5229\u306b\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u305c\u3072\u4f7f\u3063\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache Kafka\u306f\u3001\u300c\u30ec\u30b3\u30fc\u30c9\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u51e6\u7406\u300d\u3092\u53ef\u80fd\u306b\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002\u3053\u308c\u306f\u3069\u3046\u3044\u3046\u3053\u3068\u304b\u3068\u3044\u3046\u3068\u3001\u30bb\u30f3\u30b5\u30fc\u3084\u69d8\u3005\u306a\u30c4\u30fc\u30eb\u306e\u4e00\u90e8\u304b\u3089\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u30c7\u30fc\u30bf\u3092\u76f4\u63a5\u4f55\u304b\u306b\u9001\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u3053\u306e\u5834\u5408\u306fGrid [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":50348,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1005],"tags":[],"class_list":["post-50844","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\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"Apache\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/stream-data-with-griddb-and-kafka\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"Apache\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/stream-data-with-griddb-and-kafka\/\" \/>\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=\"2023-01-27T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T15:55:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2023\/03\/kafka1.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=\"Israel\" \/>\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=\"Israel\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/\"},\"author\":{\"name\":\"Israel\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\"},\"headline\":\"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b\",\"datePublished\":\"2023-01-27T08:00:00+00:00\",\"dateModified\":\"2025-11-14T15:55:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/\"},\"wordCount\":247,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2023\/03\/kafka1.png\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/\",\"url\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/\",\"name\":\"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2023\/03\/kafka1.png\",\"datePublished\":\"2023-01-27T08:00:00+00:00\",\"dateModified\":\"2025-11-14T15:55:59+00:00\",\"description\":\"Apache\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2023\/03\/kafka1.png\",\"contentUrl\":\"\/wp-content\/uploads\/2023\/03\/kafka1.png\",\"width\":1160,\"height\":653},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.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.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.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.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.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\",\"name\":\"Israel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"caption\":\"Israel\"},\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/author\/israel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT","description":"Apache","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:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/stream-data-with-griddb-and-kafka\/","og_locale":"ja_JP","og_type":"article","og_title":"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT","og_description":"Apache","og_url":"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/stream-data-with-griddb-and-kafka\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2023-01-27T08:00:00+00:00","article_modified_time":"2025-11-14T15:55:59+00:00","og_image":[{"width":1160,"height":653,"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2023\/03\/kafka1.png","type":"image\/png"}],"author":"Israel","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"\u57f7\u7b46\u8005":"Israel","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"7\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#article","isPartOf":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/"},"author":{"name":"Israel","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740"},"headline":"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b","datePublished":"2023-01-27T08:00:00+00:00","dateModified":"2025-11-14T15:55:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/"},"wordCount":247,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2023\/03\/kafka1.png","inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/","url":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/","name":"GridDB\u3068Kafka\u3067\u30c7\u30fc\u30bf\u3092\u30b9\u30c8\u30ea\u30fc\u30e0\u3059\u308b | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage"},"image":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2023\/03\/kafka1.png","datePublished":"2023-01-27T08:00:00+00:00","dateModified":"2025-11-14T15:55:59+00:00","description":"Apache","inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stream-data-with-griddb-and-kafka\/#primaryimage","url":"\/wp-content\/uploads\/2023\/03\/kafka1.png","contentUrl":"\/wp-content\/uploads\/2023\/03\/kafka1.png","width":1160,"height":653},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.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.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.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.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.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740","name":"Israel","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","caption":"Israel"},"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/author\/israel\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/comments?post=50844"}],"version-history":[{"count":1,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50844\/revisions"}],"predecessor-version":[{"id":51671,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50844\/revisions\/51671"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/media\/50348"}],"wp:attachment":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/media?parent=50844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/categories?post=50844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/tags?post=50844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}