<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hillary Onyango</title>
    <description>The latest articles on DEV Community by Hillary Onyango (@amolo_hillary).</description>
    <link>https://dev.to/amolo_hillary</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F308055%2F00f31c48-e2ec-4daf-82a8-fa493804fb5a.png</url>
      <title>DEV Community: Hillary Onyango</title>
      <link>https://dev.to/amolo_hillary</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amolo_hillary"/>
    <language>en</language>
    <item>
      <title>Working with Apache to automate collection of Weather data for Kenya’s major Agricultural Areas</title>
      <dc:creator>Hillary Onyango</dc:creator>
      <pubDate>Sat, 26 Jul 2025 22:46:14 +0000</pubDate>
      <link>https://dev.to/amolo_hillary/working-with-apache-to-automate-collection-of-weather-data-for-kenyas-major-agricultural-areas-4ee8</link>
      <guid>https://dev.to/amolo_hillary/working-with-apache-to-automate-collection-of-weather-data-for-kenyas-major-agricultural-areas-4ee8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
One of the important aspects of Apache is it enables collection of messy data scattered all over into a seamless flow of cleaned data that can be used by analytics teams and data scientists to do what they do best.  This project collects weather data extracts daily from the OpenWeatherMap API, transforms it into a structured format, and loads it into a PostgreSQL database Access to reliable weather data is essential for farmers to optimize crop yields, manage irrigation, and mitigate climate risks. The Kenya Agricultural Regions Weather ETL Pipeline addresses this need by automating the collection, processing, and storage of weather data for 17 key agricultural regions. Built with Apache &lt;em&gt;Airflow and integrated with the OpenWeatherMap API&lt;/em&gt; and PostgreSQL, this project delivers a robust, scalable solution for data-driven agriculture. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kenya’s agricultural sector is a cornerstone of its economy, supporting millions of livelihoods and contributing significantly to national GDP. This Data Engineering project avails the precious data that analysts and data scientists can use to make important decisions to improve the contribution of agriculture to the nation’s economics and food security in general. This ETL Pipeline is an automated system that extracts daily weather data from the OpenWeatherMap API, transforms it into a structured format, and loads it into a PostgreSQL database. The pipeline captures critical metrics such as temperature, humidity, pressure, wind speed, rainfall, and weather descriptions in major agricultural regions like &lt;em&gt;Eldoret, Nakuru, Kitale, Embu,&lt;/em&gt; and others. By leveraging Apache Airflow, the system ensures reliable scheduling, error handling, and monitoring, with email notifications for operational transparency&lt;br&gt;
&lt;strong&gt;Key Features&lt;/strong&gt;&lt;br&gt;
The pipeline is designed for efficiency and reliability, offering:&lt;br&gt;
• &lt;strong&gt;Daily Weather Updates&lt;/strong&gt;: Collects data for 17 agricultural regions in Kenya.&lt;br&gt;
• &lt;strong&gt;Automated Workflow&lt;/strong&gt;: Uses Apache Airflow to orchestrate the ETL process.&lt;br&gt;
• &lt;strong&gt;PostgreSQL Integration&lt;/strong&gt;: Stores data in a structured, queryable database.&lt;br&gt;
• &lt;strong&gt;Comprehensive Error Handling&lt;/strong&gt;: Manages API failures, database issues, and data validation errors.&lt;br&gt;
• &lt;strong&gt;Email Notifications&lt;/strong&gt;: Sends alerts for pipeline failures and weekly success reports.&lt;br&gt;
• &lt;strong&gt;Secure Configuration&lt;/strong&gt;: Uses environment variables for API keys, database credentials, and SMTP settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Design&lt;/strong&gt;&lt;br&gt;
The pipeline follows a standard ETL architecture:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Extract&lt;/strong&gt;: Fetches raw weather data from the OpenWeatherMap API using Python’s requests library, targeting coordinates for each of the 17 regions.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Transform&lt;/strong&gt;: Cleans and processes data with pandas, converting units (e.g., Kelvin to Celsius), handling missing values, and structuring data for storage.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Load&lt;/strong&gt;: Inserts transformed data into a PostgreSQL database using sqlalchemy and psycopg2-binary.
The database schema is designed for simplicity and scalability:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def create_weather_table():
    """Create weather_data table if it doesn't exist"""
    create_table_sql = """
    CREATE TABLE IF NOT EXISTS weather_data (
        id SERIAL PRIMARY KEY,
        region VARCHAR(50) NOT NULL,
        latitude DECIMAL(10, 6) NOT NULL,
        longitude DECIMAL(10, 6) NOT NULL,
        temperature DECIMAL(5, 2),
        feels_like DECIMAL(5, 2),
        temp_min DECIMAL(5, 2),
        temp_max DECIMAL(5, 2),
        pressure INTEGER,
        humidity INTEGER,
        visibility INTEGER,
        wind_speed DECIMAL(5, 2),
        wind_direction INTEGER,
        cloudiness INTEGER,
        weather_main VARCHAR(50),
        weather_description VARCHAR(100),
        rainfall_1h DECIMAL(8, 2) DEFAULT 0,
        rainfall_3h DECIMAL(8, 2) DEFAULT 0,
        sunrise TIMESTAMP,
        sunset TIMESTAMP,
        data_timestamp TIMESTAMP NOT NULL,
        extraction_timestamp TIMESTAMP NOT NULL,
        heat_index DECIMAL(5, 2),
        dew_point DECIMAL(5, 2),
        is_favorable_temp BOOLEAN,
        is_high_humidity BOOLEAN,
        rainfall_category VARCHAR(20),
        date DATE,
        hour INTEGER,
        month INTEGER,
        year INTEGER,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        UNIQUE(region, data_timestamp)
    );

    -- Create indexes for better query performance
    CREATE INDEX IF NOT EXISTS idx_weather_region ON weather_data(region);
    CREATE INDEX IF NOT EXISTS idx_weather_date ON weather_data(date);
    CREATE INDEX IF NOT EXISTS idx_weather_timestamp ON weather_data(data_timestamp);
    CREATE INDEX IF NOT EXISTS idx_weather_region_date ON weather_data(region, date);
    """

    conn = get_postgres_connection()
    try:
        cursor = conn.cursor()
        cursor.execute(create_table_sql)
        conn.commit()
        logging.info("Weather table created successfully")
        cursor.close()
    except psycopg2.Error as e:
        logging.error(f"Error creating table: {e}")
        conn.rollback()
        raise
    finally:
        conn.close()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Implementation&lt;/strong&gt;&lt;br&gt;
The project is built with &lt;em&gt;Python 3.8+ and Apache Airflow 2.0+, with dependencies including pandas, sqlalchemy, psycopg2-binary, requests, and python-dotenv&lt;/em&gt;. Below are the key components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Project Structure&lt;/strong&gt;&lt;br&gt;
The GitHub repository includes:&lt;br&gt;
• daily_weather_etl_kenya.py: Defines the Airflow DAG for the ETL workflow.&lt;br&gt;
• .env: Stores sensitive configurations (API keys, database credentials, SMTP settings).&lt;br&gt;
• README.md: Provides setup and usage instructions.&lt;br&gt;
• .gitignore: Excludes sensitive files from version control.&lt;br&gt;
Setup involves cloning the repository, creating a virtual environment, installing dependencies, and configuring the .env file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0muo9oqluj3zqga2ivs3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0muo9oqluj3zqga2ivs3.png" alt="Stracture" width="277" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Airflow DAG&lt;/strong&gt;&lt;br&gt;
The DAG is scheduled daily with:&lt;br&gt;
• Retries: 2 attempts for failed tasks.&lt;br&gt;
• Retry Delay: 5 minutes.&lt;br&gt;
• Email Notifications: Enabled for failures and weekly success summaries via SMTP (e.g., Gmail).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo16jzgmgr091hnqozu0p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo16jzgmgr091hnqozu0p.png" alt="SMTP sent the email successfully" width="800" height="47"&gt;&lt;/a&gt;&lt;br&gt;
Tasks include API data extraction, data transformation, and database loading, all orchestrated through Airflow’s intuitive interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Error Handling&lt;/strong&gt;&lt;br&gt;
The pipeline handles:&lt;br&gt;
• API Issues: Timeouts and invalid responses are managed with retry logic.&lt;br&gt;
• Database Errors: Connection failures are caught and logged.&lt;br&gt;
• Data Validation: Ensures data integrity before loading.&lt;br&gt;
• Logging: Airflow logs provide detailed execution insights.&lt;br&gt;
&lt;strong&gt;4. Deployment&lt;/strong&gt;&lt;br&gt;
Users set up Airflow by initializing the database, creating an admin user, and running the webserver (&lt;a href="http://localhost:8080" rel="noopener noreferrer"&gt;http://localhost:8080&lt;/a&gt;) and scheduler. The Airflow UI enables monitoring of DAG runs and task statuses.&lt;br&gt;
&lt;strong&gt;Impact&lt;/strong&gt;&lt;br&gt;
This pipeline empowers stakeholders in Kenya’s agricultural sector:&lt;br&gt;
• &lt;strong&gt;Farmers:&lt;/strong&gt; Use weather data to plan planting, irrigation, and harvesting.&lt;br&gt;
• &lt;strong&gt;Researchers:&lt;/strong&gt; Analyze historical data for climate and crop studies.&lt;br&gt;
• &lt;strong&gt;Policymakers:&lt;/strong&gt; Leverage insights for agricultural planning and disaster response.&lt;br&gt;
By automating data collection, the system saves time and ensures consistent, high-quality data.&lt;br&gt;
&lt;strong&gt;Challenges and Solutions&lt;/strong&gt;&lt;br&gt;
Key challenges included:&lt;br&gt;
• &lt;strong&gt;API Rate Limits&lt;/strong&gt;: Addressed by optimizing API calls and implementing retries.&lt;br&gt;
• &lt;strong&gt;Data Quality&lt;/strong&gt;: Ensured through validation and standardization.&lt;br&gt;
• &lt;strong&gt;Configuration Security&lt;/strong&gt;: Managed with python-dotenv for environment variables.&lt;br&gt;
&lt;strong&gt;Future Enhancements&lt;/strong&gt;&lt;br&gt;
Potential improvements include:&lt;br&gt;
• Real-time data streaming for more frequent updates.&lt;br&gt;
• Integration with additional data sources (e.g., soil moisture sensors).&lt;br&gt;
• A visualization dashboard for end users.&lt;br&gt;
• Expansion to cover more Kenyan regions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acknowledgments&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;OpenWeatherMap API&lt;/strong&gt;: For providing accessible weather data.&lt;br&gt;
• &lt;strong&gt;Apache Airflow:&lt;/strong&gt; For robust orchestration.&lt;br&gt;
• &lt;strong&gt;PostgreSQL&lt;/strong&gt;: For reliable storage.&lt;/p&gt;

&lt;p&gt;Here is the github link for more about the project as I work on improving it:&lt;br&gt;
(&lt;a href="https://github.com/HillaryOnyango/Kenya-Agricultural-Regions-Weather-ETL-Pipeline" rel="noopener noreferrer"&gt;https://github.com/HillaryOnyango/Kenya-Agricultural-Regions-Weather-ETL-Pipeline&lt;/a&gt;)&lt;br&gt;
&lt;strong&gt;Report on the status of the DataBase&lt;/strong&gt;&lt;br&gt;
The pipeline has been up, ingesting data perfectly into the database.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5imjqsdxuk5v3ofp61n9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5imjqsdxuk5v3ofp61n9.png" alt="Pipeline DAF" width="800" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The data collected over the weekend shows that nearly all major regions of the country experiences little to no rain, with most regions covered with broken clouds. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2x54fc3pslw8irr3r95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2x54fc3pslw8irr3r95.png" alt="Weather update" width="800" height="372"&gt;&lt;/a&gt;&lt;br&gt;
Interms of the extreme nature of the weather conditions from various regions accross the country, here is what was revealed by the data &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9m54o668fxo3q69z36ut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9m54o668fxo3q69z36ut.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj4plzzgw22kf4mz0ft4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj4plzzgw22kf4mz0ft4v.png" alt=" " width="534" height="803"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>dataanalytics</category>
      <category>apacheairflow</category>
      <category>luxdev</category>
    </item>
    <item>
      <title>Working with PostgreSQL through DBeaver: A tutorial</title>
      <dc:creator>Hillary Onyango</dc:creator>
      <pubDate>Thu, 15 May 2025 00:47:00 +0000</pubDate>
      <link>https://dev.to/amolo_hillary/working-with-postgresql-through-dbeaver-a-tutorial-54li</link>
      <guid>https://dev.to/amolo_hillary/working-with-postgresql-through-dbeaver-a-tutorial-54li</guid>
      <description>&lt;p&gt;PostgreSQL is one of the most advanced open-source databases, making it popular DB with Data Analysts and Data Engineers. To get the Postgres, Go to &lt;a href="https://www.postgresql.org/download/" rel="noopener noreferrer"&gt;https://www.postgresql.org/download/&lt;/a&gt;. Select the suitable installer and download it and follow the installation instructions&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckzo845kdm6v5s2wgfeu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckzo845kdm6v5s2wgfeu.png" alt="View of PostgreSQL interface" width="468" height="258"&gt;&lt;/a&gt;&lt;br&gt;
DBeaver is a complimentary database tool that supports any database having a JDBC driver. Software developers, SQL writers, database administrators, and data analysts leverage its excellent functionality for interacting with databases. This DBeaver tutorial for PostgreSQL, from connecting and working with data achieve a particular objective&lt;br&gt;
&lt;strong&gt;Why DBeaver?&lt;/strong&gt;&lt;br&gt;
DB is popular with many developers and data gurus because it provides an intuitive user interface to connect to multitude of databases, including MySQL, MariaDB, PostgreSQL, SQLite, and many others and allowing them to perform essential operations on the data.&lt;br&gt;
 **DBeaver Installation and Connecting to PostgreSQL&lt;br&gt;
**To install DBeaver, the visit the download page using the following URL:&lt;br&gt;
&lt;a href="https://dbeaver.io/download/" rel="noopener noreferrer"&gt;https://dbeaver.io/download/&lt;/a&gt;&lt;br&gt;
Select the version of DBeaver for your OS and download the installer. Then, open the installer and follow the instructions to complete the DBeaver installation.&lt;br&gt;
Once installed, the next phase is connection to SQL. To connect to a database in DBeaver, open the utility and click Database in the top menu. Then, click the New Database Connection option or the Plug icon located within ribbon of icons at the top right portion of the user interface&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsymu8q22mk5wmyvvd9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsymu8q22mk5wmyvvd9w.png" alt="Creating New Connection" width="642" height="201"&gt;&lt;/a&gt;&lt;br&gt;
Then select your DB (which in this case is PostgreSQL) and then hit the next down to go the connection section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0feawukb0mcuwik23sa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0feawukb0mcuwik23sa.png" alt="Selecting type of DB" width="800" height="747"&gt;&lt;/a&gt;&lt;br&gt;
The final stage before we have our DB ready is creating connection, which is very critical. Here is a snippet of how the connection section look like: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqf06v64gd4xnimzyi99n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqf06v64gd4xnimzyi99n.png" alt="_Connection Settings_" width="800" height="679"&gt;&lt;/a&gt;&lt;br&gt;
 The I would explain using example when using localhost as host and the DB name is Jumia.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4p3rasjijkjo7ejqayl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4p3rasjijkjo7ejqayl.png" alt="Creating a new connection named _Jumia_" width="800" height="648"&gt;&lt;/a&gt;&lt;br&gt;
Once the above details have been keyed in, it is important to test connection first before hitting the “finish” button to ensure that the connection is successful. Here is the output if the connection is successful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplw1p3h7k6mjuuq93h0e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplw1p3h7k6mjuuq93h0e.png" alt="_Successful connection_" width="800" height="574"&gt;&lt;/a&gt;&lt;br&gt;
For non-local users, here is snippet of how yours will look (basically the same, just variation in the host used.)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6rx9tynrglbkzki4663.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6rx9tynrglbkzki4663.png" alt="Successful connection for " width="800" height="574"&gt;&lt;/a&gt;&lt;br&gt;
 For those using cloud services such as aiven, pretty the same but looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn817q7qru9zxvxsm2dzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn817q7qru9zxvxsm2dzy.png" alt="_Successful Connection in Aiven_" width="800" height="685"&gt;&lt;/a&gt;&lt;br&gt;
Upon successful connection, we can perform normal operation on DBeaver just as we would in PostgreSQL. Like shown below: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6peq534mxw0uj611cgnx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6peq534mxw0uj611cgnx.png" alt="_Query Data inside DBeaver_" width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fun Fact: The data is also available in PostgreSQL in your computer and you can access it using same DB name/tables like one below:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F034ewevheo3ooc2455hn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F034ewevheo3ooc2455hn.png" alt="_The Data inside Postgres_" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Growing Importance of Data Literacy in a Digital World Introduction</title>
      <dc:creator>Hillary Onyango</dc:creator>
      <pubDate>Wed, 12 Mar 2025 01:49:26 +0000</pubDate>
      <link>https://dev.to/amolo_hillary/the-growing-importance-of-data-literacy-in-a-digital-worldintroduction-26c5</link>
      <guid>https://dev.to/amolo_hillary/the-growing-importance-of-data-literacy-in-a-digital-worldintroduction-26c5</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The world has experienced an exponential technological revolution in the last 40 years and this era has ushered in a massive influx of information, with data now forming the backbone of decision-making across industries. An estimate of 2.5 quintillion bytes of data is created every day, and with the rise of automation, machine learning, and artificial intelligence, this number is only set to increase. In this era AI, IoT, ML, data is like the new ‘oil’ that is required to keep these systems and engine running. From healthcare to finance, education to e-commerce, just a few to mention, data is gathered, analyzed and used to make decisions that influences every aspect of our lives. However, the ability to harness and make sense of this information effectively requires a crucial skill—data literacy&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbnk3l3fwus254jjwagi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbnk3l3fwus254jjwagi.jpg" alt="Data Analysis" width="624" height="312"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Understanding Data Literacy&lt;/strong&gt;&lt;br&gt;
In a world overflowing with data, our ability to understand, interpret, and utilize it effectively has never been more critical Data literacy can be defined as the capacity to read, analyze, and communicate data insights effectively. It empowers individuals and organizations to make informed decisions, identify trends, and ultimately enhance business outcomes. At the top of the list of the benefits of making data-driven decisions is that the decision is based on factual insights rather than relying solely on intuition. This approach often results in improved efficiency and stronger business strategies, giving data-driven companies a competitive edge over those that do not prioritize data in their decision-making.&lt;br&gt;
However, simply having access to data is not enough to guarantee success. Businesses also need skilled professionals who can analyze and interpret data effectively. As a result, there is a growing demand in the job market for professionals with strong data literacy skills&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Data Literacy Skills
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.Data Analytics&lt;/strong&gt;&lt;br&gt;
Data analysis involves examining and interpreting data to extract meaningful insights. Data analysis can entail performing basic operations like reviewing patterns and drawing conclusions or as complex as applying sophisticated techniques use statistical models and machine learning algorithms. There are several types of data analysis, with four primary approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Descriptive analysis&lt;/em&gt; – Explains what has happened based on historical data.
_ -Diagnostic analysis_ – Identifies reasons behind specific outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Predictive analysis&lt;/em&gt; – Forecasts potential future trends based on patterns.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Prescriptive analysis&lt;/em&gt; – Recommends actions to achieve desired results.
Developing analytical skills is crucial for making informed business decisions and identifying opportunities for growth.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahu3lalanc5gc249d1ks.png" alt="Data Analytics" width="700" height="400"&gt;
&lt;strong&gt;2. Data Cleaning (Wrangling)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data cleaning is the process of converting raw data into a into a usable format. This often entails removing inconsistencies, filling in missing information, and organizing data for analysis.&lt;br&gt;
Clean data reduces errors in decision-making and ensures accuracy in reporting.While many businesses automate this process using algorithms, employees involved in data collection and entry must also uphold data integrity standard. Most popular tools used in this stage include Power BI and Microsoft Excel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn93g1s3r20hem4r6fuf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn93g1s3r20hem4r6fuf.jpg" alt="Data Cleaning" width="525" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Data Visualization&lt;/strong&gt;&lt;br&gt;
Data visualization is the practice of transforming raw numbers into visual formats such as graphs, charts, and infographics. It plays a crucial role in making complex data more understandable, especially for stakeholders who may not have advanced data skills. Common visualization techniques include:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fth3azfo85d2aqvpm9g3u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fth3azfo85d2aqvpm9g3u.jpg" alt="Data Visualization" width="474" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Charts and tables for presenting trends&lt;/li&gt;
&lt;li&gt;Maps for geographic data representation&lt;/li&gt;
&lt;li&gt;Infographics for summarizing key insights&lt;/li&gt;
&lt;li&gt;Interactive dashboards for real-time data monitoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data specialists use popular tools like Microsoft Excel, Google Charts, Tableau, and Power BI to create compelling visualizations that drive better decision-making.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. The Data Ecosystem&lt;/strong&gt;&lt;br&gt;
A data ecosystem refers to the interconnected components that support an organization’s data management, including:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Physical infrastructure&lt;/em&gt; – Servers, databases, and cloud storage solutions&lt;br&gt;
&lt;em&gt;- Software and tools&lt;/em&gt; – Data analysis platforms, programming languages, and AI-driven applications&lt;br&gt;
&lt;em&gt;- Data sources&lt;/em&gt;– Internal and external datasets that fuel insights.&lt;br&gt;&lt;br&gt;
Understanding an organization's data ecosystem helps professionals optimize workflows,improve efficiency, and ensure data is used effectively.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F87mya59vr4pad1d16uo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F87mya59vr4pad1d16uo1.png" alt="The Data Ecosystem" width="330" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Data Governance&lt;/strong&gt;&lt;br&gt;
Data governance is the framework that defines how an organization manages its data assets. It ensures data is accurate, secure, and used responsibly. Key areas of data governance include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Quality&lt;/em&gt; – Maintaining data accuracy, consistency, and completeness.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Security&lt;/em&gt;– Protecting data from unauthorized access and breaches.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Privacy&lt;/em&gt; – Safeguarding sensitive information, such as customer and employee records.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Stewardship&lt;/em&gt; – Enforcing policies and best practices for ethical data handling.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn7pzgfv3vuv4khonrnwq.png" alt="Data Governance" width="513" height="171"&gt;
Many companies have formal data policies that outline rules for employees, ensuring compliance with legal and industry standards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. The Data Team&lt;/strong&gt;&lt;br&gt;
Understanding the roles within a data team can help professionals collaborate effectively. Most organizations have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Data Scientists&lt;/em&gt;– Experts in advanced analytics, machine learning, and predictive modeling.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Data Engineers&lt;/em&gt; – Developers who build and maintain data infrastructures, ensuring seamless data processing.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Data Analysts&lt;/em&gt;– Specialists who conduct analyses, generate reports, and provide actionable insights.
Each of these roles contributes to turning raw data into valuable business intelligence, helping organizations remain competitive in a data-driven world.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
