Data Scanned

These metrics provide insight into the data processed by tasks within your job.

Rows read (completed executions)

More Information

This informative metric shows accumulative progress. If the value is 0, then the job has not yet processed anything or has not started.

If Job executions completed - today and Job executions completed - lifetime is greater than 0, but the rows scanned in completed executions are 0, then your source doesn't contain any data. This should increase in line with the number of completed executions.

Rows filtered by WHERE clause

More information

The number of rows that were filtered out because some or all of the primary key columns were NULL. If this behavior is intended, the rows can be filtered out in the WHERE clause.

Average rows scanned per execution

More information

This informational metric explains how much work is taking place within each execution. If this number is low, then there is a lot of overhead for a single execution, or if high, it may indicate that you have high latency.

There is no target value for this metric, however, it should be viewed in comparison with your expectations of how much work should be done in each execution.

Maximum rows scanned in an execution

More information

In streaming data, data should arrive at a fixed cadence. This means you should not experience a cycle of seeing a spike of data arriving, and then no work.

This value should be similar to Average rows scanned per job execution to ensure spikes and dips are not happening, and some jobs are not working harder than other executions. A big difference between the two may be indicative of performance and latency issues.

Rows Pending Processing

More information

The number of rows in the source table that have not been processed yet. Only rows that have been committed to the source table are included.

Discovered Files

More information

This metric applies to ingestion jobs copying data from Amazon S3, and counts the number of discovered files that match the job, but have not yet been parsed.

If your job didn't find any files, the pattern you used to discover the files needs correcting. However, this can be 0 at the very start of the job, otherwise, you need to recreate the job with the correct file pattern.

Discovered Bytes

More information

This provides a general indication of the amount of work to be done, enabling you to understand the size of your data stream.

Parse Errors (for ingestion jobs)

More information

This metric only applies to ingestion jobs and counts the number of errors when a file or row could not be parsed. Generally, the value should be 0. If this value is above 0, you should understand why these parse errors exist e.g. the file is in the wrong format, or not formed, or corrupted.

Rows written (completed executions)

More information

Written rows relate to the Average rows scanned per execution. A scanned row will result in a written row unless it was filtered, or an aggregation reduced the number of scanned to written rows. For example, it may scan 1,000,000 rows, perform an aggregation, and write the result as a single row. Conversely, a flattening operation to unnest data can result in more rows written than scanned.

If you are expecting scanned and written rows to match and they don’t, you need to investigate the cause of this. Similarly if you have a flattening operation that you expect to increase the number of written rows and this doesn’t happen, investigation is required.

Rows filtered by HAVING clause

More information

The number of rows that were filtered out because they didn't pass the HAVING clause predicate defined in the job.

Rows filtered due to missing partition

More information

If you are writing to a partition table and one of the partitions has a NULL value or empty string, the row will be filtered out. This is not usually intended behavior and flags that this is a user error requiring investigation.

If this behavior is intended, the rows can be filtered out in the WHERE clause.

Rows filtered due to missing Primary Key

More information

Rows are filtered out when a primary key is NULL. If this behavior is intended, the rows can be filtered out in the WHERE clause.

Bytes written (completed executions)

More information

Informative metric to provide a sense of scale of the data and how much is being done. If you expect this value to be more or less there is most likely a mistake in the configuration of the job.

Columns written

More information

This is a fixed number if you’re not using a SELECT * statement. You can have as many columns as you want in Upsolver, but a lot of columns can cause problems downstream in query engines such as Athena or Glue. Furthermore, this may not be what the user intended, as it can be difficult to work with a lot of columns.

It is best practice to ensure you keep your tables to a maximum of a few hundred columns for downstream support and performance.

Columns written - sparse

More information

The number of sparse columns written today. A sparse column is a column that appears in less than 0.01% of all rows. This often happens when the job is writing to a high number of columns, but those columns only show up in one or two events.

If you have a lot of sparse columns in your data, this is often because of malformed data or unexpected results. This makes it hard to work with the data downstream, so it is best to transform the data so that there are fewer columns.

Last updated