You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/connections/storage/warehouses/schema.md
+109-4Lines changed: 109 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,10 +229,115 @@ AND table_name = '<event>'
229
229
ORDER by column_name
230
230
```
231
231
232
-
> info "Note"
233
-
> If you send us an array, we stringify it in Redshift. That way you don't end up having to pollute your events. It won't work if you have a lot of array elements but should work decently to store and query those. We also flatten nested objects.
232
+
### How event tables handle nested objects and arrays
233
+
234
+
In order to preserve the quality of your events data, Segment uses the following methods to store objects and arrays in the event tables:
@@ -303,7 +408,7 @@ New event properties and traits create columns. Segment processes the incoming d
303
408
304
409
When Segment process a new batch and discover a new column to add, we take the most recent occurrence of a column and choose its datatype.
305
410
306
-
The datatypes that we support right now are:
411
+
The data types that we currently support include:
307
412
308
413
-`timestamp`
309
414
-`integer`
@@ -325,7 +430,7 @@ All four timestamps pass through to your Warehouse for every ETL'd event. In mos
325
430
326
431
`timestamp` is the UTC-converted timestamp which is set by the Segment library. If you are importing historical events using a server-side library, this is the timestamp you'll want to reference in your queries.
327
432
328
-
`original_timestamp` is the original timestamp set by the Segment library at the time the event is created. Keep in mind, this timestamp can be affected by device clock skew. You can override this value by manually passing in a value for `timestamp` which will then be relabed as `original_timestamp`. Generally, this timestamp should be ignored in favor of the `timestamp` column.
433
+
`original_timestamp` is the original timestamp set by the Segment library at the time the event is created. Keep in mind, this timestamp can be affected by device clock skew. You can override this value by manually passing in a value for `timestamp` which will then be relabeled as `original_timestamp`. Generally, this timestamp should be ignored in favor of the `timestamp` column.
329
434
330
435
`sent_at` is the UTC timestamp set by library when the Segment API call was sent. This timestamp can also be affected by device clock skew.
0 commit comments