gianm commented on code in PR #16789: URL: https://github.com/apache/druid/pull/16789#discussion_r1689579420
########## docs/querying/arrays.md: ########## @@ -71,46 +71,10 @@ The following shows an example `dimensionsSpec` for native ingestion of the data ### SQL-based ingestion -#### `arrayIngestMode` - -Arrays can be inserted with [SQL-based ingestion](../multi-stage-query/index.md) when you include the query context -parameter `arrayIngestMode: array`. - -When `arrayIngestMode` is `array`, SQL ARRAY types are stored using Druid array columns. This is recommended for new -tables. - -When `arrayIngestMode` is `mvd`, SQL `VARCHAR ARRAY` are implicitly wrapped in [`ARRAY_TO_MV`](sql-functions.md#array_to_mv). -This causes them to be stored as [multi-value strings](multi-value-dimensions.md), using the same `STRING` column type -as regular scalar strings. SQL `BIGINT ARRAY` and `DOUBLE ARRAY` cannot be loaded under `arrayIngestMode: mvd`. This -is the default behavior when `arrayIngestMode` is not provided in your query context, although the default behavior -may change to `array` in a future release. - -When `arrayIngestMode` is `none`, Druid throws an exception when trying to store any type of arrays. This mode is most -useful when set in the system default query context with `druid.query.default.context.arrayIngestMode = none`, in cases -where the cluster administrator wants SQL query authors to explicitly provide one or the other in their query context. - -The following table summarizes the differences in SQL ARRAY handling between `arrayIngestMode: array` and -`arrayIngestMode: mvd`. - -| SQL type | Stored type when `arrayIngestMode: array` | Stored type when `arrayIngestMode: mvd` (default) | -|---|---|---| -|`VARCHAR ARRAY`|`ARRAY<STRING>`|[multi-value `STRING`](multi-value-dimensions.md)| -|`BIGINT ARRAY`|`ARRAY<LONG>`|not possible (validation error)| -|`DOUBLE ARRAY`|`ARRAY<DOUBLE>`|not possible (validation error)| - -In either mode, you can explicitly wrap string arrays in `ARRAY_TO_MV` to cause them to be stored as -[multi-value strings](multi-value-dimensions.md). - -When validating a SQL INSERT or REPLACE statement that contains arrays, Druid checks whether the statement would lead -to mixing string arrays and multi-value strings in the same column. If this condition is detected, the statement fails -validation unless the column is named under the `skipTypeVerification` context parameter. This parameter can be either -a comma-separated list of column names, or a JSON array in string form. This validation is done to prevent accidentally -mixing arrays and multi-value strings in the same column. +Arrays can be inserted with [SQL-based ingestion](../multi-stage-query/index.md) . Review Comment: Extraneous space -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
