Featured Post

8 Ways to Optimize AWS Glue Jobs in a Nutshell

Image
  Improving the performance of AWS Glue jobs involves several strategies that target different aspects of the ETL (Extract, Transform, Load) process. Here are some key practices. 1. Optimize Job Scripts Partitioning : Ensure your data is properly partitioned. Partitioning divides your data into manageable chunks, allowing parallel processing and reducing the amount of data scanned. Filtering : Apply pushdown predicates to filter data early in the ETL process, reducing the amount of data processed downstream. Compression : Use compressed file formats (e.g., Parquet, ORC) for your data sources and sinks. These formats not only reduce storage costs but also improve I/O performance. Optimize Transformations : Minimize the number of transformations and actions in your script. Combine transformations where possible and use DataFrame APIs which are optimized for performance. 2. Use Appropriate Data Formats Parquet and ORC : These columnar formats are efficient for storage and querying, signif

How to Decode Python Exception Messages Like a Pro

While developing python programs, you might see exception messages from python. Here's an explanation to understand each part of the message.


Here're tips on how to understand python exceptions. You can find two kinds of exceptions. These are StandardError and StopIteration errors. Here is a chart that shows the types of python errors.



Exception message


Python exceptions class


Execptions

Python exceptions are basically three parts. Reading an error message produced by Python is not very difficult. The error type, the error description, and the traceback.


Understand the python exception message


The Error Type

There are so many in-built exception types in python. Here is the command to get all the exception types:


[x for x in dir(__builtins__) if 'Error' in x]


The Error description

The text message right after the error type gives us a description of what exactly the problem was. These descriptions are sometimes very accurate, sometimes not.

Sample error

Traceback (most recent call last): 
    File "load_tiles.py", line 32, in <module> wall = tiles['#'] 
KeyError: '#'

After the error type, there is only a # symbol, which means no clue even for Python.

The Traceback

The traceback contains accurate information where in the code an Exception happened. It contains the following:

  • A copy of the code is executed. Sometimes we spot the defect here immediately. Not this time.
  • The line number was executed when the error occurred. The defect must be in the line itself or in a line executed earlier.

Comments

Popular posts from this blog

How to Fix datetime Import Error in Python Quickly

How to Check Kafka Available Brokers

SQL Query: 3 Methods for Calculating Cumulative SUM