В этом примере мы создадим таблицу для хранения событий:
CREATE TABLE dbo.Events
(
Event string
,INDEX cIX_EVENT CLUSTERED(Event ASC) DISTRIBUTED BY HASH(Event)
);
Затем, когда дело доходит до извлечения json и вставки его в базу данных:
Сначала необходимо извлечьстроки с помощью простого экстрактора текста, то вы можете разобрать его.Например, дайте файл с объектами json, разделенными новыми строками
{ "Event": "One" }
{ "Event": "Tow" }
{ "Event": "Three"}
, тогда этот скрипт извлечет события:
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Microsoft.Analytics.Samples.Formats.Json;
@RawExtract = EXTRACT [RawString] string
FROM @input
USING Extractors.Text(delimiter:'\b', quoting : false);
@ParsedJSONLines = SELECT JsonFunctions.JsonTuple([RawString]) AS JSONLine
FROM @RawExtract;
INSERT INTO Events
SELECT JSONLine["Event"] AS Event
FROM @ParsedJSONLines;
Позже вы можете прочитать из таблицы, например так:
@result =
SELECT Event
FROM Events;
OUTPUT @result
TO @output
USING Outputters.Csv(outputHeader : true, quoting : true);
Теперь, поскольку это INSERT IMTO
, данные будут добавлены в таблицу.
Ресурсы:
Примеры GitHub
Больше примеров GitHub