externaldata operator

Returns a table whose schema is defined in the query itself, and whose data is read from an external raw file.

Note that this operator does not have a pipeline input.


externaldata ( ColumnName : ColumnType [, ...] ) [ DataFileUri ] [with ( Prop1 = Value1 [, ...] )]


  • ColumnName, ColumnType: These define the schema of the table. The Syntax used is precisely the same as the syntax used when defining a table (see .create table).
  • DataFileUri: The URI (including authentication option, if any) for the file holding the data.
  • Prop1, Value1, ...: Additional properties to describe how the data in the raw file is to be interpreted, as listed under ingestion properties.
    • The only property that is supported at the moment is the format property.
    • Currently supported data formats for this operator are: csv, tsv, scsv, sohsv, psv, txt, raw.


This operator returns a data table of the given schema, whose data was parsed from the specified URI.


The following example shows how to find all records in a table whose UserID column falls into a known set of IDs, held (one per line) in an external blob. Because the set is indirectly referenced by the query, it can be very large.

| where UserID in ((externaldata (UserID:string) [
| ...