def read_dynamo_table(gc, name, read_throughput=None, splits=None):
    """
    Reads a Dynamo table as a Glue DynamicFrame.

    :param awsglue.context.GlueContext gc: The GlueContext
    :param str name: The name of the Dynamo table
    :param str read_throughput: Optional read throughput - supports values from "0.1" to "1.5", inclusive.
    :param str splits: Optional number of input splits - defaults to the SparkContext default parallelism.
    :rtype: awsglue.dynamicframe.DynamicFrame
    """

    connection_options = {
        'dynamodb.input.tableName': name,
        'dynamodb.splits': str(splits or gc.spark_session.sparkContext.defaultParallelism)
    }

    if read_throughput:
        connection_options['dynamodb.throughput.read.percent'] = str(read_throughput)

    return gc.create_dynamic_frame_from_options(connection_type='dynamodb', connection_options=connection_options)