This publish is co-written with Olivia Michele and Dariswan Janweri P. at Ruparupa.
Ruparupa was constructed by PT. Omni Digitama Internusa with the imaginative and prescient to domesticate synergy and create a seamless digital ecosystem inside Kawan Lama Group that touches and enhances the lives of many.
Ruparupa is the primary digital platform constructed by Kawan Lama Group to present the perfect procuring expertise for family, furnishings, and way of life wants. Ruparupa’s aim is that will help you reside a greater life, proven by the that means of the phrase ruparupa, which implies “all the things.” We imagine that everybody deserves the perfect, and house is the place all the things begins.
On this publish, we present how Ruparupa applied an incrementally up to date knowledge lake to get insights into their enterprise utilizing Amazon Easy Storage Service (Amazon S3), AWS Glue, Apache Hudi, and Amazon QuickSight. We additionally focus on the advantages Ruparupa gained after the implementation.
The information lake applied by Ruparupa makes use of Amazon S3 because the storage platform, AWS Database Migration Service (AWS DMS) because the ingestion device, AWS Glue because the ETL (extract, rework, and cargo) device, and QuickSight for analytic dashboards.
Amazon S3 is an object storage service with very excessive scalability, sturdiness, and safety, which makes it a great storage layer for an information lake. AWS DMS is a database migration device that helps many relational database administration companies, and likewise helps Amazon S3.
An AWS Glue ETL job, utilizing the Apache Hudi connector, updates the S3 knowledge lake hourly with incremental knowledge. The AWS Glue job can rework the uncooked knowledge in Amazon S3 to Parquet format, which is optimized for analytic queries. The AWS Glue Knowledge Catalog shops the metadata, and Amazon Athena (a serverless question engine) is used to question knowledge in Amazon S3.
AWS Secrets and techniques Supervisor is an AWS service that can be utilized to retailer delicate knowledge, enabling customers to maintain knowledge corresponding to database credentials out of supply code. On this implementation, Secrets and techniques Supervisor is used to retailer the configuration of the Apache Hudi job for numerous tables.
Knowledge analytic challenges
As an ecommerce firm, Ruparupa produces numerous knowledge from their ecommerce web site, their stock programs, and distribution and finance functions. The information may be structured knowledge from current programs, and will also be unstructured or semi-structured knowledge from their buyer interactions. This knowledge accommodates insights that, if unlocked, can assist administration make choices to assist improve gross sales and optimize price.
Earlier than implementing an information lake on AWS, Ruparupa had no infrastructure able to processing the amount and number of knowledge codecs in a short while. Knowledge needed to be manually processed by knowledge analysts, and knowledge mining took a very long time. Due to the quick progress of knowledge, it took 1–1.5 hours simply to ingest knowledge, which was lots of of 1000’s of rows.
The handbook course of induced inconsistent knowledge cleaning. After the info had been cleansed, some processes had been typically lacking, and all the info needed to undergo one other course of of knowledge cleaning.
This lengthy processing time lowered the analytic group’s productiveness. The analytic group may solely produce weekly and month-to-month reviews. This delay in report frequency impacted delivering vital insights to administration, they usually couldn’t transfer quick sufficient to anticipate adjustments of their enterprise.
The strategy used to create analytic dashboards was handbook and will solely produce just a few routine reviews. The viewers of those few reviews was restricted—a most of 20 folks from administration. Different enterprise items in Kawan Lama Group solely consumed weekly reviews that had been ready manually. Even the weekly reviews couldn’t cowl all vital metrics, as a result of some metrics had been solely obtainable in month-to-month reviews.
Preliminary resolution for a real-time dashboard
The next diagram illustrates the preliminary resolution Ruparupa applied.

Ruparupa began an information initiative throughout the group to create a single supply of fact throughout the firm. Beforehand, enterprise customers may solely get the gross sales knowledge from the day earlier than, they usually didn’t have any visibility to present gross sales actions of their shops and web sites.
To realize belief from enterprise customers, we needed to supply essentially the most up to date knowledge in an interactive QuickSight dashboard. We used an AWS DMS replication job to stream real-time change knowledge seize (CDC) updates to an Amazon Aurora MySQL-Suitable Version database, and constructed a QuickSight dashboard to switch the static presentation deck.
This pilot dashboard was accepted extraordinarily properly by the customers, who now had visibility to their present knowledge. Nevertheless, the info supply for the dashboard nonetheless resided in an Aurora MySQL database and solely coated a single knowledge area.
The preliminary design had some extra challenges:
- Numerous knowledge supply – The information supply in an ecommerce platform consists of structured, semi-structured, and unstructured knowledge, which requires versatile knowledge storage. The preliminary knowledge warehouse design in Ruparupa solely saved transactional knowledge, and knowledge from different programs together with consumer interplay knowledge wasn’t consolidated but.
- Value and scalability – Ruparupa needed to construct a future-proof knowledge platform resolution that might scale as much as terabytes of knowledge in essentially the most cost-effective means.
The preliminary design additionally had some advantages:
- Knowledge updates – Knowledge contained in the preliminary knowledge warehouse was delayed by 1 day. This was an enchancment over the weekly report, however nonetheless not quick sufficient to make faster choices.
This resolution solely served as a short lived resolution; we wanted a extra full analytics resolution that might serve extra complicated and bigger knowledge sources, quicker, and cost-effectively.
Actual-time knowledge lake resolution
To meet their necessities, Ruparupa launched a mutable knowledge lake, as proven within the following diagram.

Let’s take a look at every principal element in additional element.
AWS DMS CDC course of
To get the real-time knowledge from the supply, we streamed the database CDC log utilizing AWS DMS (element 1 within the structure diagram). The CDC information include all inserts, updates, and deletes from the supply database. This uncooked knowledge is saved within the uncooked layer of the S3 knowledge lake.
An S3 lifecycle coverage is used to handle knowledge retention, the place the older knowledge is moved to Amazon S3 Glacier.
AWS Glue ETL job
The second S3 knowledge lake layer is the reworked layer, the place the info is reworked to an optimized format that’s prepared for consumer question. The recordsdata are reworked to Parquet columnar format with snappy compression and desk partitioning to optimize SQL queries from Athena.
In an effort to create a mutable knowledge lake that may merge adjustments from the info supply, we launched an Apache Hudi knowledge lake framework. With Apache Hudi, we are able to carry out upserts and deletes on the reworked layer to maintain the info constant in a dependable method. With a Hudi knowledge lake, Ruparupa can create a single supply of fact for all our knowledge sources shortly and simply. The Hudi framework takes care of the underlying metadata of the updates, making it easy to implement throughout lots of of tables within the knowledge lake. We solely must configure the author output to create a copy-on-write desk relying on the entry necessities. For the author, we use an AWS Glue job author mixed with an AWS Glue Hudi connector frrom AWS Market. The extra library from the connector helps AWS Glue perceive find out how to write to Hudi.
An AWS Glue ETL job is used to get the adjustments from the uncooked layer and merge the adjustments within the reworked layer (element 2 within the structure diagram). With AWS Glue, we’re in a position to create a PySpark job to get the info, and we use the AWS Glue Connector for Apache Hudi to simplify the Hudi library import to the AWS Glue job. With AWS Glue, all of the adjustments from AWS DMS may be merged simply to the Hudi knowledge lake. The roles are scheduled each hour utilizing a built-in scheduler in AWS Glue.
Secrets and techniques Supervisor is used to retailer all of the associated parameters which can be required to run the job. As an alternative of constructing one transformation job for every desk, Ruparupa creates a single generic job that may rework a number of tables by utilizing a number of parameters. The parameters that give particulars in regards to the desk construction are saved in Secrets and techniques Supervisor and may be retrieved utilizing the identify of the desk as key. With these customized parameters, Ruparupa doesn’t must create a job for each desk—we are able to make the most of a single job that may ingest the info for all completely different tables by passing the identify of the desk to the job.
All of the metadata of the tables is saved within the AWS Glue Knowledge Catalog, together with the Hudi tables. This catalog is utilized by the AWS Glue ETL job, Athena question engine, and QuickSight dashboard.
Athena queries
Customers can then question the most recent knowledge for his or her report utilizing Athena (element 3 within the structure diagram). Athena is serverless, so there isn’t any infrastructure to provision or preserve. We will instantly use SQL to question the info lake to create a report or ingest the info to the dashboard.
QuickSight dashboard
Enterprise customers can use a QuickSight dashboard to question the info lake (element 4 within the structure diagram). The present dashboard is modified to get knowledge from Athena, changing the earlier database. New dashboards had been additionally created to satisfy repeatedly evolving wants for insights from a number of enterprise items.
QuickSight can also be used to inform sure events when a price is reaching a sure threshold. An electronic mail alert is shipped to an exterior notification and messaging platform so it may well attain the end-user.
Enterprise outcomes
The information lake implementation in Ruparupa took round 3 months, with a further month for knowledge validation, earlier than it was thought-about prepared for manufacturing. With this resolution, administration can get the most recent info view of their present state as much as the final 1 hour. Beforehand, they might solely generate weekly reviews—now insights can be found 168 occasions quicker.
The QuickSight dashboard, which may be up to date mechanically, shortens the time required by the analytic group. The QuickSight dashboard now has extra content material—not solely is transactional knowledge reported, but in addition different metrics like new SKU, operation escalation without spending a dime companies to clients, and monitoring SLA. Since April 2021 when Ruparupa began their QuickSight pilot, the variety of dashboards has elevated to round 70 based mostly on requests from enterprise customers.
Ruparupa has employed new personnel to affix the info analytic group to discover new potentialities and new use circumstances. The analytic group has grown from only one particular person to seven to deal with new analytic use circumstances:
- Merchandising
- Operations
- Retailer supervisor efficiency measurement
- Insights of trending SKUs
Kawan Lama Group additionally has offline shops apart from the ecommerce platform managed by Ruparupa. With the brand new dashboard, it’s simpler to match transaction knowledge from on-line and offline shops as a result of they now use the identical platform.
The brand new dashboards additionally may be consumed by a broader viewers, together with different enterprise items in Kawan Lama Group. The overall customers consuming the dashboard elevated from simply 20 customers from administration to round 180 customers (9 occasions improve).
For the reason that implementation, different enterprise items in Kawan Lama Group have elevated their belief within the S3 knowledge lake platform applied by Ruparupa, as a result of the info is extra updated they usually can drill all the way down to the SKU stage to validate that the info is appropriate. Different enterprise items can now act quicker after an occasion like a advertising marketing campaign. This knowledge lake implementation has helped improve gross sales income in numerous enterprise items in Kawan Lama Group.
Conclusion
Implementing a real-time knowledge lake utilizing Amazon S3, Apache Hudi, AWS Glue, Athena, and QuickSight gave Ruparupa the next advantages:
- Yielded quicker insights (hourly in comparison with weekly)
- Unlocked new insights
- Enabled extra folks in additional enterprise items to devour the dashboard
- Helped enterprise items in Kawan Lama Group act quicker and improve gross sales income
In case you’re taken with gaining comparable advantages, take a look at Construct a Knowledge Lake Basis with AWS Glue and Amazon S3.
You may also learn to get began with QuickSight within the Getting Began information.
Final however not least, you may study operating Apache Hudi on AWS Glue in Writing to Apache Hudi tables utilizing AWS Glue Customized Connector.
In regards to the Authors
Olivia Michele is a Knowledge Scientist Lead at Ruparupa, the place she has labored in quite a lot of knowledge roles over the previous 5 years, together with constructing and integrating Ruparupa knowledge programs with AWS to enhance consumer expertise with knowledge and reporting instruments. She is enthusiastic about turning uncooked info into worthwhile actionable insights and delivering worth to the corporate.
Dariswan Janweri P. is a Knowledge Engineer at Ruparupa. He considers challenges or issues as attention-grabbing riddles and finds satisfaction in fixing them, and much more satisfaction by with the ability to assist his colleagues and pals, “two birds one stone.” He’s excited to be a serious participant in Indonesia’s know-how transformation.
Adrianus Budiardjo Kurnadi is a Senior Options Architect at Amazon Net Companies Indonesia. He has a robust ardour for databases and machine studying, and works carefully with the Indonesian machine studying neighborhood to introduce them to varied AWS Machine Studying companies. In his spare time, he enjoys singing in a choir, studying, and enjoying together with his two youngsters.
Nico Anandito is an Analytics Specialist Options Architect at Amazon Net Companies Indonesia. He has years of expertise working in knowledge integration, knowledge warehouses, and massive knowledge implementation in a number of industries. He’s licensed in AWS knowledge analytics and holds a grasp’s diploma within the knowledge administration subject of laptop science.