
Having 8 Years of Total IT experience with special emphasis in design, development, architecture, administration and implementation of data management and governance applications. Cloud and data processing expert with multiple projects (~6 nos) for Regeneron, IBM, Intellus Learning(part of McMillan) and internship in startup CleverLogik. Seeking to draw on proven software development and engineering skills to increase and improve applications.
Technical Lead
Visionet SystemsSenior Software Engineer
IBMSoftware Engineer
Intellus Learning INCSoftware Developer
Cleverlogik Technologies PVT LTD
Amazon EKS

S3

EMR

Athena

EC2

SNS

SQS

IAM

Dremio

Airflow
.png)
Jenkins

Sharepoint

AWS Athena

Hive

Redshift

Kubernetes
Jira

GitHub

AWS

Django

MySQL

MongoDB

Pandas

Scrapy

BeautifulSoup

Selenium

OpenCV
Celery
Hello. I'm Zumbhuda Paul with 8 years of experience in cloud and data engineering platforms. I'm an expert in building data pipelines using ETLs, using PySpark and different AWS services, independent and reusable Python projects, and with using Django, AWS, optimizing existing Python projects. Currently, I'm working in Vision as a technical lead, developing my skills, like how to handle teams, distribution of work, planning for roadmaps for my team. I contributed to 2 different projects here, the DID pipeline and connected to the platform building in DID. Developing an ETL pipeline using NiFi, AWS services like Airflow, EMR, S3, RDB with device database like Hive Athena. In CDL, I developed a connected data platform, building a platform for managing access to all users, by creating policies for groups and data lakes with Kubernetes and AWS services like EKS, Node Group, S3, IAM, and SaaS products like Privacera, Dremio. Previously, I was in IBM as a senior software engineer for 2 years and was developing IBM Cloud as a product. I was responsible for developing new VM features and managing compute cloud services like clusters, routers, network, and groups using Python and Kubernetes. Here, I learned about cloud services in-depth. Before IBM, I was in a company named Intellus Learning as a software engineer and worked on different products. One was iClicker and another one was Insights. The Insights application is a reporting application for instructors and students. We developed this product from scratch using Python, Django, AWS services like EC2, and DBs like MongoDB and MySQL. I created an image processing pipeline to convert images to meaningful text using Python and AWS services like Lambda, SNS, SQS, S3 API Gateways, and MySQL. So, here, I learned about building independent and usable Python projects.
Developing a company on how to ensure the data quality and integrity through the pipeline. When developing a complex ETL process, ensuring data quality and integrity throughout the pipeline involves several key practices. Data validation, for example, involves implementing data validation checks at each stage of data processing to ensure data conforms to expected formats, ranges, and business rules. Data profiling also involves analyzing source data to understand its structure, content, and quality, as well as handling anomalous, missing values, and duplicates before loading. Error handling, in particular, requires designing a robust error handling and logging mechanism to capture errors, enabling quick identification and resolution. Automated testing is also essential, as it allows for the development of automated testing capabilities to validate data transformation, consistency, and correctness at various pipeline stages, track data lineage, and ensure transparency and traceability. Enforcing consistent standards, such as naming conventions, data types, and code standards across the ETL process, can also maintain uniformity and reduce errors. Other key practices include monitoring and alerts, backup and recovery, and incremental loading. By integrating these practices, you can ensure data quality and integrity throughout your data processing and deliver accurate data to downstream applications.
Planning for data disaster recovery in Snowflake involves several key steps. One is understanding requirements. Another one is data replication, backups, and snapshots, automated failures, then access controls, testing, documentation, and continuous monitoring. Understanding requirements is defined by the recovery time objective (RTO) and recovery point objective (RPO) based on business needs. Data applications utilize Snowflake in multiple regions, requiring us to replicate data across regions. We should take backups and snapshots on a regular basis. We can schedule automated failures and configure the process to quickly switch back to the previous replica in the event of a disaster. Access controls ensure that proper security measures are in place for the replica data, which is unnecessary during a disaster. Testing is regulated throughout the disaster recovery plan simulation process. Documentation should include everything, including roles, decision plans, responsibilities, and detailed recording steps. And continuous monitoring helps improve the recovery process by detecting early stages when the recovery process is prompted.
To deploy a Spark application in AWS, ensuring scalability and cost efficiency, we would use Amazon EMR. First, create an EMR cluster and select Spark as the application. Choose a mix of on-demand and spot instances to optimize costs. Next, enable auto-scaling to dynamically adjust the number of instances based on the workload. For cost-effectiveness, specify multiple instance types and pricing options to achieve a flexible and cost-effective configuration. For data storage, use AWS S3, which provides data consistency. To execute a Spark job, use an EMR step or automate the service using the console. For monitoring and logging, use CloudWatch to set alarms and track cluster performance. To troubleshoot issues, enable logging to S3. Finally, configure the cluster to auto-terminate after the job is completed, which will help save costs.
How can you use the skill to enhance the security and reliability of data processing system? How can you use Linux system administration skills to enhance the security and reliability of data processing system. Using Linux system administration skills, you can enhance the security and reliability of data processing system through following practices. The one is user and permission management. They implement strict user access control management and group policies. Use principles at least the principle of least privilege to restrict access to sensitive data and use system resources, a firewall, and network security. Configure a firewall, use a secure communication protocol like SSH, SSL, TLS to encrypt data transmission. System updates and patching: apply regular system patching to the Linux operating system and install software when you install software. Monitoring and logging: check the monitoring to promote system performance. You can use software to monitor with promoters to track performance, predict anomalies, configure logging like system logs or audit logs. You can use this to do system logging. Back up and recovery systems: we can use this.
What techniques would you use to handle schema evolution in Snowflake data warehousing without causing downstream for customers to handle schema evolution in Snowflake without causing downtime for customers, you can use the following techniques. 0-copy cloning. Create 0-copy clones of the database or schema to make changes without affecting the live environment. Time travel. Utilize Snowflake's time travel feature to revert to previous states of the data if needed, ensuring data integrity. And during schema change, apply schema changes in an online, non-disruptive manner by adding new columns or tables without dropping existing ones, using values and maintaining backwards compatibility with the existing schema while transitioning to the new schema. Transactional DDL. Leverage Snowflake's support for transactional DDL to ensure schema changes are automated and do not leave the database in an inconsistent state. State rollout implements schema changes in stages, gradually rolling out updates and validating each step to minimize impact.
In summing up the following pattern, what is intended to check if an element is in the list and the element itself. We don't need to run the loop, which is an input list. There is no element called "input chat." One thing is a wrong value. There is an input list. There is nothing called "input chat." And the second thing is you can directly convert the list to a set. Automatically, duplicates will be deleted. We don't need to run a loop. And we have to return the set. Examine the following code is needed to check if all elements are unique. Now, after getting the set, you have to convert the set back to a list and then check if the input list and the output list are equal or not. If they are equal, then return true. Otherwise, return false.
There is no need for a group by here. We can order by, we can do.
To handle increment loading in an ETL pipeline that ingests data into Snowflake from multiple changing data sources, we can follow this strategy: 1. Implement CDC mechanism, for example, a log-based CDC tool, to capture changes, inserts, updates, and deletes from the data source, and load the captured data into a staging area in Snowflake. 2. Dedicatedly staging tables for each data source to temporarily store incremental data, and ensure each source data has a timestamp column to track the latest modification time, facilitating the identification of new and updated records. 3. The ETL process extracts the incremental data based on the timestamp or serial mechanism, applies necessary transformation, data cleaning, and duplication, and then merges the incremental data into the target Snowflake table using a merge statement to handle inserts, updates, and deletes. 4. Schedule a job to run regularly in intervals, hourly or daily, to process and load the incremental data. 5. Implement error handling and monitoring, and include data validation checks to ensure the accuracy of the loaded data. By following this strategy, you can implement efficient incremental loading in your ETL pipeline, handling changes from multiple data sources through staging and transformation.
To transition to an architecture that supports both real-time and batch processing, and optimizes for Python-based computation, modernization, and shared components, there are several steps to consider. First, for real-time data ingestion, use tools like Apache Kafka or Amazon Kinesis to handle similar data streams. For batch storage, utilize AWS S3 or Hadoop HDFS. For real-time data processing, employ Apache Flink or Apache Spark Streaming for Python-based computation. For batch processing, apply PySpark for Python-based computation. Data storage can utilize real-time data and batch data together in a scalable and flexible manner using Snowflake. For orchestration, Apache Airflow can be used to schedule and manage both real-time and batch computation. Additionally, ETL pipelines can be leveraged. In monitoring and logging, the same tools can be used for both real-time and batch processing.
There is a system for managing cross-region data applications within AWS. Another is the entire processing system.