{"id":46619,"date":"2020-11-24T00:00:00","date_gmt":"2020-11-24T08:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/"},"modified":"2025-11-13T12:55:02","modified_gmt":"2025-11-13T20:55:02","slug":"analyzing-a-time-series-real-estate-dataset-with-griddb-and-java","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/","title":{"rendered":"Analyzing a Time Series Real Estate Dataset with GridDB and Java"},"content":{"rendered":"<h2>Dataset and Environment Setup <\/h2>\n<p>In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be analyzing is an open dataset that contains real estate property sales details. You can download the dataset from this <a href=\"https:\/\/www.kaggle.com\/htagholdings\/property-sales\">link <\/a><\/p>\n<p>First of all, let\u00e2\u20ac\u2122s take a look at the structure of the dataset. You can have a proper idea on the dataset by referring to the following table.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2020\/11\/table.png\" alt=\"\" width=\"602\" height=\"264\" class=\"aligncenter size-full wp-image-26977\" srcset=\"\/wp-content\/uploads\/2020\/11\/table.png 602w, \/wp-content\/uploads\/2020\/11\/table-300x132.png 300w, \/wp-content\/uploads\/2020\/11\/table-600x263.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/p>\n<p>The reason why we have used GridDB in this implementation is because it has unique features that make it ideal for time series data. This <a href=\"\/en\/blog\/time-series-data-griddb\/\">article <\/a> describes clearly about time series data and GridDB.<\/p>\n<p>Before starting implementation, you need to set up the GridDB server with a Java client. If you haven\u00e2\u20ac\u2122t set it up yet, you can follow this quick start guide shown <a href=\"\/en\/blog\/griddb-quickstart\/\">here<\/a>.<\/p>\n<p>In this article, we will not be focusing on how to Connect, get GridStore and store data. We will be mainly focusing on analyzing the dataset. Now let\u00e2\u20ac\u2122s move to the implementation.<\/p>\n<\/p>\n<h2>Declare column names and get gridstore instance<\/h2>\n<p>First we need to declare the attributes of the dataset as a static inner class as follows.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">static class Sales{\n                @RowKey Date salesdate;\n                int MA;\n                String type;\n                int bedrooms;\n        }<\/code><\/pre>\n<\/div>\n<p>According to the dataset, there should be four attributes. Here we have used the same names as the column names for readability. @RowKey syntax is used to identify the row key of the document.<\/p>\n<p>Next, it is required to get the gridstore instance and create a timeseries. To get gridstore, set a number of properties such as notification address, notification port, username name and password.<\/p>\n<h2>Read dataset and Store<\/h2>\n<p>Now, the data should be read from the dataset and preprocess in order to store in the database.<\/p>\n<p>In our dataset, the date is in the format of \u00e2\u20ac\u0153dd\/MM\/yyyy\u00e2\u20ac\u009d. But the date should be stored as a timestamp. Since this dataset doesn\u00e2\u20ac\u2122t contain any time given, let\u00e2\u20ac\u2122s set the time as \u00e2\u20ac\u015300:00\u00e2\u20ac\u009d. Other column values can be stored without doing any change.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">File csvFile = new File(\"ma_lga_12345.csv\");\n                Scanner sc = new Scanner(csvFile);\n                String data = sc.next();\n \n                while (sc.hasNext()){\n                        String scData = sc.next();\n                        String dataList[] = scData.split(\",\");\n                        String salesdate = dataList[0];\n                        String MA = dataList[1];\n                        String type = dataList[2];\n                        String bedrooms = dataList[3];\n                        \n                        Sales sales = new Sales();\n    \n                        sales.salesdate = convertDateToTimeStamp(salesdate);\n                        sales.MA = Integer.parseInt(MA);\n                        sales.type = type;\n                        sales.bedrooms = Integer.parseInt(bedrooms);\n                        ts.append(sales);\n                 }<\/code><\/pre>\n<\/div>\n<p>The above code reads the CSV file line by line extracting relevant data and then creates a sales object. Then the created sales object has been appended to the database. <\/p>\n<p>The \u00e2\u20ac\u02dcconverDateToTimeStamp\u00e2\u20ac\u2122 method is used to convert the sales Date in the dataset to timestamp as follows.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">static Date convertDateToTimeStamp(date){\n             \n            String OLD_FORMAT = \"dd\/MM\/yyyy\";\n            String NEW_FORMAT = \"yyyy\/MM\/dd\";\n            SimpleDateFormat format = new SimpleDateFormat(\"yyyy\/MM\/ddHH:mm:ss\");          \n            SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);\n            Date d = sdf.parse(salesdate);\n            sdf.applyPattern(NEW_FORMAT);\n            String newDateString = sdf.format(d);\n            String datetimes = newDateString +\"00\"+\":00:00\";\n            Date dates = format.parse(datetimes);\n            Long dt = dates.getTime();\n            return new Date(dt);\n         }<\/code><\/pre>\n<\/div>\n<p>We have used the SimpleDateFormat package in java in converting date to timestamp. By now we have stored all the data we need in the database. <\/p>\n<h2>Analyzing data<\/h2>\n<p>From this point, we can pay attention to analyzing the dataset we just prepared. These data analyzing techniques that have been applied on real estate sales data can be generalized to use in several other problem scenarios as well.<\/p>\n<h2>Retrieving data in a given time range<\/h2>\n<p>First, let\u00e2\u20ac\u2122s see how we can extract the specified range of time series elements. As an example, let&#8217;s take 4 months as the time range. So what we need to do is, extracting the data from the current timestamp to 4 months before the current date. Read this code and understand the implementation of the logic as well as the syntax.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\"> Date now = TimestampUtils.current();\n Date before = TimestampUtils.add(now, -4, TimeUnit.MONTH);\n RowSet<Sales> rs = ts.query(before, now).fetch();\nwhile (rs.hasNext()) {\n           Sales sales = new Sales();\n           sales = rs.next();\n           System.out.println( \"Sales Date=\" + TimestampUtils.format(sales.salesdate) +\n                              \" MA =\" + sales.MA +\n                              \" Type\" + sales.type +\n                              \" Bedrooms\" + sales.bedrooms);\n }\n<\/code><\/pre>\n<\/div>\n<p>In the first line of this code, we have taken the current timestamp. In order to do that, we have used the TimestampUtils  method in the implementation. Then we need to reduce four months of time from the current time. \u00e2\u20ac\u0153TimestampUtils.add\u00e2\u20ac\u009d method can be used for that. If you want to add a particular time to the current time, you only need to remove the \u00e2\u20ac\u0153-\u00e2\u20ac\u009d sign in front of the time in the function. <\/p>\n<p>If you need to change the time unit, you simply have to mention the time unit as TimeUnit.MONTH, TimeUnit.HOURS or any other time unit according to the time range you need to add or subtract.<\/p>\n<p>Now, we have two timestamps. First one is the current time. Second one is the timestamp four months back. Querying to get the data in this time range is quite easy.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">RowSet<Sales> rs = ts.query(before, now).fetch();<\/code><\/pre>\n<\/div>\n<p>This gives you all the rows of data between the specified time range. However, you may get more than one row as the output of the above code. So you should read each data row one by one as implemented in the code. Once you get the row and extract it to the variables, you can either print it or apply any operation on the data.<\/p>\n<h2>Query the database<\/h2>\n<p>Now, let\u00e2\u20ac\u2122s discuss how to write a query which includes multiple conditions on attributes same as \u00e2\u20ac\u0153SQL queries\u00e2\u20ac\u009d and extract data.<\/p>\n<p>Assume that a user needs to get the first 20 unit type house details in decreasing order of \u00e2\u20ac\u0153MA\u00e2\u20ac\u009d value which are smaller than 50000$ . First let\u00e2\u20ac\u2122s see how we can write the query for this scenario.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sql\">Select * from sales01 where type=\u00e2\u20ac\u2122unit\u00e2\u20ac\u2122 and MA <5000 order by MA desc limit 20<\/code><\/pre>\n<\/div>\n<p>If you are familiar with SQL, you may know that this is how we would write SQL queries for this scenario. It\u00e2\u20ac\u2122s important to mention that although this query and the syntax of most other queries are similar to SQL, there are some differences between the query language which is used in GridDB (TQL) and SQL.<\/p>\n<p>Let\u00e2\u20ac\u2122s see how to get an output from the query we just wrote. <\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sql\">Query<Sales> query = ts.query(\"select * from sales01\" +\n      \" where type='unit' and MA < 50000 order by MA desc limit 20\");\nRowSet<Sales> res = query.fetch();<\/code><\/pre>\n<\/div>\n<p>The code above shows you how to get the result from any query. Similar to the previous example, you need to check whether there are any resultant rows remaining and apply relevant operation on extracted data.<\/p>\n<h2>Computing the average of extracted data<\/h2>\n<p>Finally let\u00e2\u20ac\u2122s take a look at how we can get an average value of a particular data value which is in a specific time range.<\/p>\n<p>We are going to get the average \u00e2\u20ac\u0153MA\u00e2\u20ac\u009d value between 4 months time period, where, from 2 months before the given date to 2 months after the given date.<\/p>\n<p>Assume that \u00e2\u20ac\u0153salesTime\u00e2\u20ac\u009d is a timestamp given by the user.  .<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Date start = TimestampUtils.add(salesTime, -2, TimeUnit.MONTH);\nDate end = TimestampUtils.add(salesTime, 2, TimeUnit.MONTH);\nAggregationResult avg = ts.aggregate(start, end, \"MA\",  \nAggregation.AVERAGE);\n \nSystem.out.println(\u00e2\u20ac\u0153avg=\" + avg.getDouble());     <\/code><\/pre>\n<\/div>\n<p>As we discussed previously, starting time and ending time can be obtained with the \u00e2\u20ac\u0153TimestampUtils.add\u00e2\u20ac\u009d method. Now, we need to get the average value of \u00e2\u20ac\u0153MA\u00e2\u20ac\u009d within the specified time range. For that, we can use the following aggregation method.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sql\">AggregationResult avg =ts.aggregate(start, end, \"MA\", Aggregation.AVERAGE);<\/code><\/pre>\n<\/div>\n<p>Once we get the average value to \u00e2\u20ac\u02dcavg\u00e2\u20ac\u2122 variable we can apply suitable operations on it such as storing the value in the database, pass the value to another function as a parameter or simply print the average in std out.<\/p>\n<h2>Conclusion<\/h2>\n<p>Great, that\u00e2\u20ac\u2122s pretty much about it. In this article we discussed some simple methods on how we can analyze real estate sales data in Java. We used GridDB for manipulating this time series data set. Try to get more familiar with these technologies, add more complex methods to analyse data and improve the functionalities further.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be analyzing is an open dataset that contains real estate property sales details. You can download the dataset from this link First of all, let\u00e2\u20ac\u2122s take a look [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":27038,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be\" \/>\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\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\" \/>\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=\"2020-11-24T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:55:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1441\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\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=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Analyzing a Time Series Real Estate Dataset with GridDB and Java\",\"datePublished\":\"2020-11-24T08:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\"},\"wordCount\":1112,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\",\"url\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\",\"name\":\"Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg\",\"datePublished\":\"2020-11-24T08:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:02+00:00\",\"description\":\"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg\",\"contentUrl\":\"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg\",\"width\":1920,\"height\":1441},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT","description":"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be","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\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/","og_locale":"en_US","og_type":"article","og_title":"Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT","og_description":"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be","og_url":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2020-11-24T08:00:00+00:00","article_modified_time":"2025-11-13T20:55:02+00:00","og_image":[{"width":1920,"height":1441,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg","type":"image\/jpeg"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"griddb-admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#article","isPartOf":{"@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Analyzing a Time Series Real Estate Dataset with GridDB and Java","datePublished":"2020-11-24T08:00:00+00:00","dateModified":"2025-11-13T20:55:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/"},"wordCount":1112,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/","url":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/","name":"Analyzing a Time Series Real Estate Dataset with GridDB and Java | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg","datePublished":"2020-11-24T08:00:00+00:00","dateModified":"2025-11-13T20:55:02+00:00","description":"Dataset and Environment Setup In this article we will discuss how to analyze and ingest a time series dataset with GridDB and Java. The data we will be","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/en\/blog\/analyzing-a-time-series-real-estate-dataset-with-griddb-and-java\/#primaryimage","url":"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg","contentUrl":"\/wp-content\/uploads\/2020\/11\/architecture_1920x1441.jpeg","width":1920,"height":1441},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=46619"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46619\/revisions"}],"predecessor-version":[{"id":51295,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46619\/revisions\/51295"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/27038"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=46619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=46619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=46619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}