powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Data Lake как Staging Area
25 сообщений из 158, страница 5 из 7
Data Lake как Staging Area
    #39818484
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39818486
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glebanskichurupaha,

Databricks кооперируется с Информатикой
https://www.businesswire.com/news/home/20190521005827/en/Databricks-Informatica-Partner-Accelerate-Development-Intelligent-Data

Ну все, рынок энтерпрайза эти двое теперь точно подомнут.

ЗЫ: Юзаю Databricks пару недель. Пока впечатления хорошие. Щас пробую Datalake на нем сбацать.

Ага, они много с кем уже кооперируются от известных до неизвестных, кажется даже Azure ADF Flow юзает сие (не пробовал).
Да они и сами по себе оооочень круты.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39845937
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupahaH5N1,

Databricks Delta UPDATE/DELETE
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
%sql
drop database if exists test_db cascade;
create database test_db;

create table test_db.test_tbl using delta as
select * from xxx;

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/

dir          0  _delta_log
file  51926603  part-00000-1426c3ce-b229-483a-b77e-758462e6431b-c000.snappy.parquet
file  51931083  part-00001-89279585-72ed-4a93-9332-33b992ba7dea-c000.snappy.parquet
file  51836760  part-00002-d7d44c81-bc00-4863-ae53-b13baf0a8ec6-c000.snappy.parquet
file  51765672  part-00003-fbdf50d1-8166-4909-aaa4-4c41bb6a28e0-c000.snappy.parquet
file  51645701  part-00004-46fd54a1-c958-4f7b-b4f1-720cca087dbc-c000.snappy.parquet
file  51636215  part-00005-6bc7aa3a-9bca-4ec3-8a95-9fe5c7bcadd7-c000.snappy.parquet
file  51574509  part-00006-b9c010e6-9017-4a0e-853c-887dec591b73-c000.snappy.parquet
file  51673471  part-00007-31d54d8c-99a5-45a8-82ce-875e3d822b4c-c000.snappy.parquet
file  51712654  part-00008-a5dc71ac-69dc-4ebf-b317-55f8bfc275bb-c000.snappy.parquet
file  51574726  part-00009-261340a5-fcec-406d-98a0-83146ad47189-c000.snappy.parquet
file  51616103  part-00010-3ad706be-f215-4c81-8ee5-4d6834714f65-c000.snappy.parquet
file  51176632  part-00011-a4b84205-a59e-400a-975f-70c9f6c3de12-c000.snappy.parquet
file  51619480  part-00012-80c19ac4-e812-46a0-9507-d042bcd34110-c000.snappy.parquet
file  51482600  part-00013-5d9de6ce-fb01-418f-ae6f-6181e65bed66-c000.snappy.parquet
file  51552115  part-00014-2e547729-6858-49d1-a3b1-4b6b335a8da2-c000.snappy.parquet
file  51568260  part-00015-2e5696b9-9f6d-4f0c-bc9c-e1b63cd587c3-c000.snappy.parquet
file  51544169  part-00016-02edd1f4-ee78-413e-a0af-0f2b906d2a27-c000.snappy.parquet
file  51550346  part-00017-a28f200c-53c3-4646-9588-6e91643726a9-c000.snappy.parquet
file  51147934  part-00018-2d20ae02-2819-469c-b291-77312ba2938d-c000.snappy.parquet
file  51557341  part-00019-cc2c0e47-58ca-4c91-b783-7ee247f5e993-c000.snappy.parquet
file  51324794  part-00020-1627c301-a463-41d5-8c56-36f91eada362-c000.snappy.parquet
file  51470205  part-00021-3a193aeb-4e41-4dff-8a6d-d9d743bd401b-c000.snappy.parquet
file  51477655  part-00022-24d61281-d7ae-43b0-9ba1-e6e72e6fdf8f-c000.snappy.parquet
file  51536465  part-00023-ecca1e52-69c7-4494-b44c-eef7bf0c2a45-c000.snappy.parquet
file  51531138  part-00024-b88869d2-b679-47e6-a9ab-7a434920d7ff-c000.snappy.parquet
file  51502406  part-00025-3944d9b3-15bb-439e-b76c-ee7bf5f3f8a5-c000.snappy.parquet
file  51513942  part-00026-c36583b2-7d88-4958-bd26-f4e1760056bc-c000.snappy.parquet
file  51367886  part-00027-13d43c61-e980-476b-a537-f327a9893d36-c000.snappy.parquet
file  51478477  part-00028-5a8e0145-ada8-47ca-be92-b3dac8b18043-c000.snappy.parquet
file  51464162  part-00029-c7fc0a9a-9318-46eb-b130-e9a2209de1cd-c000.snappy.parquet
file  51471764  part-00030-21cc41eb-f27a-4e79-b943-89e55e6304be-c000.snappy.parquet
file  51529154  part-00031-f7460e47-557e-46cb-9ca5-273153f527a6-c000.snappy.parquet
file  51397207  part-00032-58710500-0a8c-4dff-bf76-0e3e414169cd-c000.snappy.parquet
file  51506234  part-00033-0e1d4307-c2c2-4280-8e8f-fac317b1abf7-c000.snappy.parquet
file  51413162  part-00034-71352935-c929-4aeb-8ed0-e843ca7b38e5-c000.snappy.parquet
file  50939362  part-00035-a8380fbd-20a0-4134-80bb-a42a092d519c-c000.snappy.parquet
file  51361043  part-00036-cd8c8e25-291f-4bad-89f5-36ccaaa3b303-c000.snappy.parquet
file  51269317  part-00037-2b588e22-ab2b-46e0-bc41-4dc6de23ca93-c000.snappy.parquet
file  51353055  part-00038-87aa3375-727c-43d5-a5fe-3a8f96f9a9de-c000.snappy.parquet
file  51359248  part-00039-b773f0bf-da86-4416-8e13-ac9b65b4fe6e-c000.snappy.parquet
file  51277753  part-00040-ab3b4492-d9e6-4422-8265-dea45b93cb81-c000.snappy.parquet
file  51461096  part-00041-8d54afc4-a461-4082-a498-841f30632b5e-c000.snappy.parquet
file  51369131  part-00042-0676f4e3-d324-481a-b219-8d947b827b7b-c000.snappy.parquet
file  51190015  part-00043-1801422a-acfe-4c80-9726-9bcc23e55a26-c000.snappy.parquet
file  51442688  part-00044-629fe344-921c-400a-9990-da75bef26a19-c000.snappy.parquet
file  51268063  part-00045-c866bd8d-a710-4aee-8afb-5e8025b222d8-c000.snappy.parquet
file  51195796  part-00046-a307d8d8-3d33-49c2-8db6-6696fa4eab55-c000.snappy.parquet
file  51163868  part-00047-f76157ee-4193-469f-a628-a8d6c6e3659b-c000.snappy.parquet
file  51230503  part-00048-e4f57059-7b5f-4f30-bf4d-15a35794025c-c000.snappy.parquet
file  59455581  part-00049-2850b901-2dbf-406c-8ffe-991c2479974d-c000.snappy.parquet
file  18663521  part-00050-137995d3-bd8e-434b-a2b1-d77b75611cef-c000.snappy.parquet
file   4988629  part-00051-64f8c21a-9ab8-4d0f-bbe6-a4774d9ffbbd-c000.snappy.parquet

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/_delta_log

file     96  00000000000000000000.crc
file  23092  00000000000000000000.json

00000000000000000000.crc
{"tableSizeBytes":2605065694,"numFiles":52,"numMetadata":1,"numProtocol":1,"numTransactions":0}

00000000000000000000.json
{"commitInfo":{"timestamp":1543751811443,"userId":"6605856514319898","userName":"xxx@xxx","operation":"CREATE TABLE AS SELECT","operationParameters":{"isManaged":"true","description":null,"partitionBy":"[]","properties":"{}"},"notebook":{"notebookId":"2221810962482344"},"clusterId":"1126-094127-pods946"}}
{"protocol":{"minReaderVersion":1,"minWriterVersion":2}}
{"metaData":{"id":"2f1fd135-3b03-45ec-9075-12a7b8a79715","format":{"provider":"parquet","options":{}},"schemaString":"{\"type\":\"struct\",\"fields\":[{\"name\":\"c1\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c2\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c3\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c4\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c5\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}]}","partitionColumns":[],"configuration":{},"createdTime":1543751736915}}
{"add":{"path":"part-00000-1426c3ce-b229-483a-b77e-758462e6431b-c000.snappy.parquet","partitionValues":{},"size":51926603,"modificationTime":1543751750000,"dataChange":true,"stats":"{\"numRecords\":5410014,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":3,\"c4\":79,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":567,\"c4\":13527760,\"c5\":3278},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273634,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00001-89279585-72ed-4a93-9332-33b992ba7dea-c000.snappy.parquet","partitionValues":{},"size":51931083,"modificationTime":1543751755000,"dataChange":true,"stats":"{\"numRecords\":5413461,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":58,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":543,\"c4\":13459440,\"c5\":706},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1274466,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00002-d7d44c81-bc00-4863-ae53-b13baf0a8ec6-c000.snappy.parquet","partitionValues":{},"size":51836760,"modificationTime":1543751749000,"dataChange":true,"stats":"{\"numRecords\":5405780,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":101,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":650,\"c4\":13525720,\"c5\":3561},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273352,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00003-fbdf50d1-8166-4909-aaa4-4c41bb6a28e0-c000.snappy.parquet","partitionValues":{},"size":51765672,"modificationTime":1543751755000,"dataChange":true,"stats":"{\"numRecords\":5409232,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":53,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13514620,\"c5\":1328},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273808,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00004-46fd54a1-c958-4f7b-b4f1-720cca087dbc-c000.snappy.parquet","partitionValues":{},"size":51645701,"modificationTime":1543751750000,"dataChange":true,"stats":"{\"numRecords\":5409328,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":533,\"c4\":13520940,\"c5\":3882},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273595,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00005-6bc7aa3a-9bca-4ec3-8a95-9fe5c7bcadd7-c000.snappy.parquet","partitionValues":{},"size":51636215,"modificationTime":1543751756000,"dataChange":true,"stats":"{\"numRecords\":5406456,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":95,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":700,\"c4\":13499120,\"c5\":3188},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273762,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00006-b9c010e6-9017-4a0e-853c-887dec591b73-c000.snappy.parquet","partitionValues":{},"size":51574509,"modificationTime":1543751750000,"dataChange":true,"stats":"{\"numRecords\":5409737,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":47,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13527260,\"c5\":671},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1274070,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00007-31d54d8c-99a5-45a8-82ce-875e3d822b4c-c000.snappy.parquet","partitionValues":{},"size":51673471,"modificationTime":1543751756000,"dataChange":true,"stats":"{\"numRecords\":5411145,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":68,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":1305,\"c4\":13439940,\"c5\":3631},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273965,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00008-a5dc71ac-69dc-4ebf-b317-55f8bfc275bb-c000.snappy.parquet","partitionValues":{},"size":51712654,"modificationTime":1543751760000,"dataChange":true,"stats":"{\"numRecords\":5406436,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":77,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":650,\"c4\":13463900,\"c5\":763},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273554,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00009-261340a5-fcec-406d-98a0-83146ad47189-c000.snappy.parquet","partitionValues":{},"size":51574726,"modificationTime":1543751760000,"dataChange":true,"stats":"{\"numRecords\":5410257,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13521480,\"c5\":634},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272442,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00010-3ad706be-f215-4c81-8ee5-4d6834714f65-c000.snappy.parquet","partitionValues":{},"size":51616103,"modificationTime":1543751760000,"dataChange":true,"stats":"{\"numRecords\":5404130,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":110,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":617,\"c4\":13499680,\"c5\":3882},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272247,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00011-a4b84205-a59e-400a-975f-70c9f6c3de12-c000.snappy.parquet","partitionValues":{},"size":51176632,"modificationTime":1543751760000,"dataChange":true,"stats":"{\"numRecords\":5409639,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13517220,\"c5\":706},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1274284,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00012-80c19ac4-e812-46a0-9507-d042bcd34110-c000.snappy.parquet","partitionValues":{},"size":51619480,"modificationTime":1543751765000,"dataChange":true,"stats":"{\"numRecords\":5407717,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":46,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":617,\"c4\":13516720,\"c5\":777},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272600,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00013-5d9de6ce-fb01-418f-ae6f-6181e65bed66-c000.snappy.parquet","partitionValues":{},"size":51482600,"modificationTime":1543751765000,"dataChange":true,"stats":"{\"numRecords\":5406751,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":81,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":567,\"c4\":13525200,\"c5\":3380},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273890,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00014-2e547729-6858-49d1-a3b1-4b6b335a8da2-c000.snappy.parquet","partitionValues":{},"size":51552115,"modificationTime":1543751765000,"dataChange":true,"stats":"{\"numRecords\":5407423,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":600,\"c4\":13526240,\"c5\":1446},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272667,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00015-2e5696b9-9f6d-4f0c-bc9c-e1b63cd587c3-c000.snappy.parquet","partitionValues":{},"size":51568260,"modificationTime":1543751765000,"dataChange":true,"stats":"{\"numRecords\":5405816,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":82,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13529340,\"c5\":3437},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273089,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00016-02edd1f4-ee78-413e-a0af-0f2b906d2a27-c000.snappy.parquet","partitionValues":{},"size":51544169,"modificationTime":1543751770000,"dataChange":true,"stats":"{\"numRecords\":5409479,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":80,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":650,\"c4\":13398960,\"c5\":809},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271769,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00017-a28f200c-53c3-4646-9588-6e91643726a9-c000.snappy.parquet","partitionValues":{},"size":51550346,"modificationTime":1543751771000,"dataChange":true,"stats":"{\"numRecords\":5408366,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":68,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":926,\"c4\":13500200,\"c5\":579},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273524,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00018-2d20ae02-2819-469c-b291-77312ba2938d-c000.snappy.parquet","partitionValues":{},"size":51147934,"modificationTime":1543751770000,"dataChange":true,"stats":"{\"numRecords\":5406016,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":104,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13428660,\"c5\":3437},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273443,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00019-cc2c0e47-58ca-4c91-b783-7ee247f5e993-c000.snappy.parquet","partitionValues":{},"size":51557341,"modificationTime":1543751770000,"dataChange":true,"stats":"{\"numRecords\":5406483,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":3,\"c4\":107,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13500700,\"c5\":1331},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272495,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00020-1627c301-a463-41d5-8c56-36f91eada362-c000.snappy.parquet","partitionValues":{},"size":51324794,"modificationTime":1543751774000,"dataChange":true,"stats":"{\"numRecords\":5410197,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":510,\"c4\":13496520,\"c5\":1385},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273504,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00021-3a193aeb-4e41-4dff-8a6d-d9d743bd401b-c000.snappy.parquet","partitionValues":{},"size":51470205,"modificationTime":1543751774000,"dataChange":true,"stats":"{\"numRecords\":5407396,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13518820,\"c5\":898},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273349,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00022-24d61281-d7ae-43b0-9ba1-e6e72e6fdf8f-c000.snappy.parquet","partitionValues":{},"size":51477655,"modificationTime":1543751774000,"dataChange":true,"stats":"{\"numRecords\":5405801,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":700,\"c4\":13494840,\"c5\":3106},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273468,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00023-ecca1e52-69c7-4494-b44c-eef7bf0c2a45-c000.snappy.parquet","partitionValues":{},"size":51536465,"modificationTime":1543751774000,"dataChange":true,"stats":"{\"numRecords\":5405150,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":56,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":567,\"c4\":13466680,\"c5\":1342},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271905,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00024-b88869d2-b679-47e6-a9ab-7a434920d7ff-c000.snappy.parquet","partitionValues":{},"size":51531138,"modificationTime":1543751780000,"dataChange":true,"stats":"{\"numRecords\":5405258,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":85,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":637,\"c4\":13518320,\"c5\":3631},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272127,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00025-3944d9b3-15bb-439e-b76c-ee7bf5f3f8a5-c000.snappy.parquet","partitionValues":{},"size":51502406,"modificationTime":1543751779000,"dataChange":true,"stats":"{\"numRecords\":5405803,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":106,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":500,\"c4\":13501220,\"c5\":4098},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271991,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00026-c36583b2-7d88-4958-bd26-f4e1760056bc-c000.snappy.parquet","partitionValues":{},"size":51513942,"modificationTime":1543751781000,"dataChange":true,"stats":"{\"numRecords\":5407824,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":94,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13451700,\"c5\":750},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271727,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00027-13d43c61-e980-476b-a537-f327a9893d36-c000.snappy.parquet","partitionValues":{},"size":51367886,"modificationTime":1543751780000,"dataChange":true,"stats":"{\"numRecords\":5408494,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":116,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":510,\"c4\":13528280,\"c5\":1391},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272980,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00028-5a8e0145-ada8-47ca-be92-b3dac8b18043-c000.snappy.parquet","partitionValues":{},"size":51478477,"modificationTime":1543751782000,"dataChange":true,"stats":"{\"numRecords\":5406713,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":72,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":915,\"c4\":13517760,\"c5\":3497},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273518,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00029-c7fc0a9a-9318-46eb-b130-e9a2209de1cd-c000.snappy.parquet","partitionValues":{},"size":51464162,"modificationTime":1543751783000,"dataChange":true,"stats":"{\"numRecords\":5408519,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":96,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":476,\"c4\":12926380,\"c5\":1411},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273446,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00030-21cc41eb-f27a-4e79-b943-89e55e6304be-c000.snappy.parquet","partitionValues":{},"size":51471764,"modificationTime":1543751783000,"dataChange":true,"stats":"{\"numRecords\":5406383,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":650,\"c4\":13489860,\"c5\":1640},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272321,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00031-f7460e47-557e-46cb-9ca5-273153f527a6-c000.snappy.parquet","partitionValues":{},"size":51529154,"modificationTime":1543751782000,"dataChange":true,"stats":"{\"numRecords\":5406612,\"minValues\":{\"c1\":62889,\"c2\":1,\"c3\":3,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":500,\"c4\":13467240,\"c5\":3561},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273023,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00032-58710500-0a8c-4dff-bf76-0e3e414169cd-c000.snappy.parquet","partitionValues":{},"size":51397207,"modificationTime":1543751789000,"dataChange":true,"stats":"{\"numRecords\":5408934,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13495980,\"c5\":3631},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1275291,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00033-0e1d4307-c2c2-4280-8e8f-fac317b1abf7-c000.snappy.parquet","partitionValues":{},"size":51506234,"modificationTime":1543751790000,"dataChange":true,"stats":"{\"numRecords\":5406492,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":56,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":567,\"c4\":13523080,\"c5\":3561},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273016,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00034-71352935-c929-4aeb-8ed0-e843ca7b38e5-c000.snappy.parquet","partitionValues":{},"size":51413162,"modificationTime":1543751790000,"dataChange":true,"stats":"{\"numRecords\":5407620,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":105,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":700,\"c4\":13515680,\"c5\":70},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271535,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00035-a8380fbd-20a0-4134-80bb-a42a092d519c-c000.snappy.parquet","partitionValues":{},"size":50939362,"modificationTime":1543751791000,"dataChange":true,"stats":"{\"numRecords\":5405403,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":81,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":543,\"c4\":13494280,\"c5\":4098},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273197,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00036-cd8c8e25-291f-4bad-89f5-36ccaaa3b303-c000.snappy.parquet","partitionValues":{},"size":51361043,"modificationTime":1543751796000,"dataChange":true,"stats":"{\"numRecords\":5406991,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":84,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13519880,\"c5\":1451},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273024,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00037-2b588e22-ab2b-46e0-bc41-4dc6de23ca93-c000.snappy.parquet","partitionValues":{},"size":51269317,"modificationTime":1543751794000,"dataChange":true,"stats":"{\"numRecords\":5406956,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":65,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13528800,\"c5\":4229},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273087,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00038-87aa3375-727c-43d5-a5fe-3a8f96f9a9de-c000.snappy.parquet","partitionValues":{},"size":51353055,"modificationTime":1543751796000,"dataChange":true,"stats":"{\"numRecords\":5406147,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":115,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13512440,\"c5\":3437},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272972,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00039-b773f0bf-da86-4416-8e13-ac9b65b4fe6e-c000.snappy.parquet","partitionValues":{},"size":51359248,"modificationTime":1543751795000,"dataChange":true,"stats":"{\"numRecords\":5408686,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":3,\"c4\":92,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":500,\"c4\":13460520,\"c5\":501},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272968,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00040-ab3b4492-d9e6-4422-8265-dea45b93cb81-c000.snappy.parquet","partitionValues":{},"size":51277753,"modificationTime":1543751801000,"dataChange":true,"stats":"{\"numRecords\":5401257,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":600,\"c4\":13469980,\"c5\":643},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271216,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00041-8d54afc4-a461-4082-a498-841f30632b5e-c000.snappy.parquet","partitionValues":{},"size":51461096,"modificationTime":1543751802000,"dataChange":true,"stats":"{\"numRecords\":5403471,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":3,\"c4\":61,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":500,\"c4\":13298060,\"c5\":70},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1271898,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00042-0676f4e3-d324-481a-b219-8d947b827b7b-c000.snappy.parquet","partitionValues":{},"size":51369131,"modificationTime":1543751802000,"dataChange":true,"stats":"{\"numRecords\":5404791,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":85,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":510,\"c4\":13515160,\"c5\":1051},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272098,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00043-1801422a-acfe-4c80-9726-9bcc23e55a26-c000.snappy.parquet","partitionValues":{},"size":51190015,"modificationTime":1543751803000,"dataChange":true,"stats":"{\"numRecords\":5405648,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":100,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":533,\"c4\":13458400,\"c5\":70},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272386,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00044-629fe344-921c-400a-9990-da75bef26a19-c000.snappy.parquet","partitionValues":{},"size":51442688,"modificationTime":1543751802000,"dataChange":true,"stats":"{\"numRecords\":5400887,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":56,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":650,\"c4\":13493780,\"c5\":3380},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272601,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00045-c866bd8d-a710-4aee-8afb-5e8025b222d8-c000.snappy.parquet","partitionValues":{},"size":51268063,"modificationTime":1543751805000,"dataChange":true,"stats":"{\"numRecords\":5406849,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":84,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":500,\"c4\":13498600,\"c5\":1391},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273642,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00046-a307d8d8-3d33-49c2-8db6-6696fa4eab55-c000.snappy.parquet","partitionValues":{},"size":51195796,"modificationTime":1543751805000,"dataChange":true,"stats":"{\"numRecords\":5409172,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":2,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":3926009,\"c2\":10403,\"c3\":533,\"c4\":13529860,\"c5\":629},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272474,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00047-f76157ee-4193-469f-a628-a8d6c6e3659b-c000.snappy.parquet","partitionValues":{},"size":51163868,"modificationTime":1543751805000,"dataChange":true,"stats":"{\"numRecords\":5408311,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":1,\"c4\":86,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":606,\"c4\":13413120,\"c5\":1451},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1273288,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00048-e4f57059-7b5f-4f30-bf4d-15a35794025c-c000.snappy.parquet","partitionValues":{},"size":51230503,"modificationTime":1543751810000,"dataChange":true,"stats":"{\"numRecords\":5405310,\"minValues\":{\"c1\":62886,\"c2\":1,\"c3\":0,\"c4\":67,\"c5\":0},\"maxValues\":{\"c1\":3926011,\"c2\":10403,\"c3\":650,\"c4\":13522000,\"c5\":3278},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1272922,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00049-2850b901-2dbf-406c-8ffe-991c2479974d-c000.snappy.parquet","partitionValues":{},"size":59455581,"modificationTime":1543751811000,"dataChange":true,"stats":"{\"numRecords\":6249227,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":2,\"c4\":71,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":580,\"c4\":13455500,\"c5\":3380},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1551238,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00050-137995d3-bd8e-434b-a2b1-d77b75611cef-c000.snappy.parquet","partitionValues":{},"size":18663521,"modificationTime":1543751807000,"dataChange":true,"stats":"{\"numRecords\":2542526,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":2,\"c4\":60,\"c5\":0},\"maxValues\":{\"c1\":62644,\"c2\":2244,\"c3\":500,\"c4\":4410640,\"c5\":66},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":830808,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00051-64f8c21a-9ab8-4d0f-bbe6-a4774d9ffbbd-c000.snappy.parquet","partitionValues":{},"size":4988629,"modificationTime":1543751806000,"dataChange":true,"stats":"{\"numRecords\":664689,\"minValues\":{\"c1\":40095,\"c2\":1,\"c3\":7,\"c4\":120,\"c5\":0},\"maxValues\":{\"c1\":62644,\"c2\":2244,\"c3\":347,\"c4\":809320,\"c5\":66},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":220020,\"c4\":0,\"c5\":0}}"}}


update test_db.test_tbl set c3 = 0 where c1 = 2;

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/

dir          0  _delta_log
file  51926603  part-00000-1426c3ce-b229-483a-b77e-758462e6431b-c000.snappy.parquet
file  59455585  part-00000-5357c4d4-dc80-4c16-87b3-a876da395d80-c000.snappy.parquet
file  18663525  part-00001-5eb0fcc7-183c-4078-81ae-558a35be932e-c000.snappy.parquet
file  51931083  part-00001-89279585-72ed-4a93-9332-33b992ba7dea-c000.snappy.parquet
file  51836760  part-00002-d7d44c81-bc00-4863-ae53-b13baf0a8ec6-c000.snappy.parquet
file  51765672  part-00003-fbdf50d1-8166-4909-aaa4-4c41bb6a28e0-c000.snappy.parquet
file  51645701  part-00004-46fd54a1-c958-4f7b-b4f1-720cca087dbc-c000.snappy.parquet
file  51636215  part-00005-6bc7aa3a-9bca-4ec3-8a95-9fe5c7bcadd7-c000.snappy.parquet
file  51574509  part-00006-b9c010e6-9017-4a0e-853c-887dec591b73-c000.snappy.parquet
file  51673471  part-00007-31d54d8c-99a5-45a8-82ce-875e3d822b4c-c000.snappy.parquet
file  51712654  part-00008-a5dc71ac-69dc-4ebf-b317-55f8bfc275bb-c000.snappy.parquet
file  51574726  part-00009-261340a5-fcec-406d-98a0-83146ad47189-c000.snappy.parquet
file  51616103  part-00010-3ad706be-f215-4c81-8ee5-4d6834714f65-c000.snappy.parquet
file  51176632  part-00011-a4b84205-a59e-400a-975f-70c9f6c3de12-c000.snappy.parquet
file  51619480  part-00012-80c19ac4-e812-46a0-9507-d042bcd34110-c000.snappy.parquet
file  51482600  part-00013-5d9de6ce-fb01-418f-ae6f-6181e65bed66-c000.snappy.parquet
file  51552115  part-00014-2e547729-6858-49d1-a3b1-4b6b335a8da2-c000.snappy.parquet
file  51568260  part-00015-2e5696b9-9f6d-4f0c-bc9c-e1b63cd587c3-c000.snappy.parquet
file  51544169  part-00016-02edd1f4-ee78-413e-a0af-0f2b906d2a27-c000.snappy.parquet
file  51550346  part-00017-a28f200c-53c3-4646-9588-6e91643726a9-c000.snappy.parquet
file  51147934  part-00018-2d20ae02-2819-469c-b291-77312ba2938d-c000.snappy.parquet
file  51557341  part-00019-cc2c0e47-58ca-4c91-b783-7ee247f5e993-c000.snappy.parquet
file  51324794  part-00020-1627c301-a463-41d5-8c56-36f91eada362-c000.snappy.parquet
file  51470205  part-00021-3a193aeb-4e41-4dff-8a6d-d9d743bd401b-c000.snappy.parquet
file  51477655  part-00022-24d61281-d7ae-43b0-9ba1-e6e72e6fdf8f-c000.snappy.parquet
file  51536465  part-00023-ecca1e52-69c7-4494-b44c-eef7bf0c2a45-c000.snappy.parquet
file  51531138  part-00024-b88869d2-b679-47e6-a9ab-7a434920d7ff-c000.snappy.parquet
file  51502406  part-00025-3944d9b3-15bb-439e-b76c-ee7bf5f3f8a5-c000.snappy.parquet
file  51513942  part-00026-c36583b2-7d88-4958-bd26-f4e1760056bc-c000.snappy.parquet
file  51367886  part-00027-13d43c61-e980-476b-a537-f327a9893d36-c000.snappy.parquet
file  51478477  part-00028-5a8e0145-ada8-47ca-be92-b3dac8b18043-c000.snappy.parquet
file  51464162  part-00029-c7fc0a9a-9318-46eb-b130-e9a2209de1cd-c000.snappy.parquet
file  51471764  part-00030-21cc41eb-f27a-4e79-b943-89e55e6304be-c000.snappy.parquet
file  51529154  part-00031-f7460e47-557e-46cb-9ca5-273153f527a6-c000.snappy.parquet
file  51397207  part-00032-58710500-0a8c-4dff-bf76-0e3e414169cd-c000.snappy.parquet
file  51506234  part-00033-0e1d4307-c2c2-4280-8e8f-fac317b1abf7-c000.snappy.parquet
file  51413162  part-00034-71352935-c929-4aeb-8ed0-e843ca7b38e5-c000.snappy.parquet
file  50939362  part-00035-a8380fbd-20a0-4134-80bb-a42a092d519c-c000.snappy.parquet
file  51361043  part-00036-cd8c8e25-291f-4bad-89f5-36ccaaa3b303-c000.snappy.parquet
file  51269317  part-00037-2b588e22-ab2b-46e0-bc41-4dc6de23ca93-c000.snappy.parquet
file  51353055  part-00038-87aa3375-727c-43d5-a5fe-3a8f96f9a9de-c000.snappy.parquet
file  51359248  part-00039-b773f0bf-da86-4416-8e13-ac9b65b4fe6e-c000.snappy.parquet
file  51277753  part-00040-ab3b4492-d9e6-4422-8265-dea45b93cb81-c000.snappy.parquet
file  51461096  part-00041-8d54afc4-a461-4082-a498-841f30632b5e-c000.snappy.parquet
file  51369131  part-00042-0676f4e3-d324-481a-b219-8d947b827b7b-c000.snappy.parquet
file  51190015  part-00043-1801422a-acfe-4c80-9726-9bcc23e55a26-c000.snappy.parquet
file  51442688  part-00044-629fe344-921c-400a-9990-da75bef26a19-c000.snappy.parquet
file  51268063  part-00045-c866bd8d-a710-4aee-8afb-5e8025b222d8-c000.snappy.parquet
file  51195796  part-00046-a307d8d8-3d33-49c2-8db6-6696fa4eab55-c000.snappy.parquet
file  51163868  part-00047-f76157ee-4193-469f-a628-a8d6c6e3659b-c000.snappy.parquet
file  51230503  part-00048-e4f57059-7b5f-4f30-bf4d-15a35794025c-c000.snappy.parquet
file  59455581  part-00049-2850b901-2dbf-406c-8ffe-991c2479974d-c000.snappy.parquet
file  18663521  part-00050-137995d3-bd8e-434b-a2b1-d77b75611cef-c000.snappy.parquet
file   4988629  part-00051-64f8c21a-9ab8-4d0f-bbe6-a4774d9ffbbd-c000.snappy.parquet

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/_delta_log

file     96  00000000000000000000.crc
file  23092  00000000000000000000.json
file     96  00000000000000000001.crc
file   1372  00000000000000000001.json

00000000000000000001.crc
{"tableSizeBytes":2605065702,"numFiles":52,"numMetadata":1,"numProtocol":1,"numTransactions":0}

00000000000000000001.json
{"commitInfo":{"timestamp":1543752370946,"userId":"6605856514319898","userName":"xxx@xxx","operation":"UPDATE","operationParameters":{"predicate":"(c1#2309 = 2)"},"notebook":{"notebookId":"2221810962482344"},"clusterId":"1126-094127-pods946"}}
{"remove":{"path":"part-00049-2850b901-2dbf-406c-8ffe-991c2479974d-c000.snappy.parquet","deletionTimestamp":1543752352667,"dataChange":true}}
{"remove":{"path":"part-00050-137995d3-bd8e-434b-a2b1-d77b75611cef-c000.snappy.parquet","deletionTimestamp":1543752352667,"dataChange":true}}
{"add":{"path":"part-00000-5357c4d4-dc80-4c16-87b3-a876da395d80-c000.snappy.parquet","partitionValues":{},"size":59455585,"modificationTime":1543752370000,"dataChange":true,"stats":"{\"numRecords\":6249227,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":0,\"c4\":71,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":580,\"c4\":13455500,\"c5\":3380},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1551238,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00001-5eb0fcc7-183c-4078-81ae-558a35be932e-c000.snappy.parquet","partitionValues":{},"size":18663525,"modificationTime":1543752365000,"dataChange":true,"stats":"{\"numRecords\":2542526,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":0,\"c4\":60,\"c5\":0},\"maxValues\":{\"c1\":62644,\"c2\":2244,\"c3\":500,\"c4\":4410640,\"c5\":66},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":830808,\"c4\":0,\"c5\":0}}"}}


delete from test_db.test_tbl where c1 = 16;

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/

dir          0  _delta_log
file  51926603  part-00000-1426c3ce-b229-483a-b77e-758462e6431b-c000.snappy.parquet
file  59455585  part-00000-5357c4d4-dc80-4c16-87b3-a876da395d80-c000.snappy.parquet
file  59430649  part-00000-7dddda62-8837-4909-9183-fa4075bc1c1b-c000.snappy.parquet
file  18663525  part-00001-5eb0fcc7-183c-4078-81ae-558a35be932e-c000.snappy.parquet
file  51931083  part-00001-89279585-72ed-4a93-9332-33b992ba7dea-c000.snappy.parquet
file  18664701  part-00001-91318462-059b-43ff-99da-12b9c187c465-c000.snappy.parquet
file  51836760  part-00002-d7d44c81-bc00-4863-ae53-b13baf0a8ec6-c000.snappy.parquet
file  51765672  part-00003-fbdf50d1-8166-4909-aaa4-4c41bb6a28e0-c000.snappy.parquet
file  51645701  part-00004-46fd54a1-c958-4f7b-b4f1-720cca087dbc-c000.snappy.parquet
file  51636215  part-00005-6bc7aa3a-9bca-4ec3-8a95-9fe5c7bcadd7-c000.snappy.parquet
file  51574509  part-00006-b9c010e6-9017-4a0e-853c-887dec591b73-c000.snappy.parquet
file  51673471  part-00007-31d54d8c-99a5-45a8-82ce-875e3d822b4c-c000.snappy.parquet
file  51712654  part-00008-a5dc71ac-69dc-4ebf-b317-55f8bfc275bb-c000.snappy.parquet
file  51574726  part-00009-261340a5-fcec-406d-98a0-83146ad47189-c000.snappy.parquet
file  51616103  part-00010-3ad706be-f215-4c81-8ee5-4d6834714f65-c000.snappy.parquet
file  51176632  part-00011-a4b84205-a59e-400a-975f-70c9f6c3de12-c000.snappy.parquet
file  51619480  part-00012-80c19ac4-e812-46a0-9507-d042bcd34110-c000.snappy.parquet
file  51482600  part-00013-5d9de6ce-fb01-418f-ae6f-6181e65bed66-c000.snappy.parquet
file  51552115  part-00014-2e547729-6858-49d1-a3b1-4b6b335a8da2-c000.snappy.parquet
file  51568260  part-00015-2e5696b9-9f6d-4f0c-bc9c-e1b63cd587c3-c000.snappy.parquet
file  51544169  part-00016-02edd1f4-ee78-413e-a0af-0f2b906d2a27-c000.snappy.parquet
file  51550346  part-00017-a28f200c-53c3-4646-9588-6e91643726a9-c000.snappy.parquet
file  51147934  part-00018-2d20ae02-2819-469c-b291-77312ba2938d-c000.snappy.parquet
file  51557341  part-00019-cc2c0e47-58ca-4c91-b783-7ee247f5e993-c000.snappy.parquet
file  51324794  part-00020-1627c301-a463-41d5-8c56-36f91eada362-c000.snappy.parquet
file  51470205  part-00021-3a193aeb-4e41-4dff-8a6d-d9d743bd401b-c000.snappy.parquet
file  51477655  part-00022-24d61281-d7ae-43b0-9ba1-e6e72e6fdf8f-c000.snappy.parquet
file  51536465  part-00023-ecca1e52-69c7-4494-b44c-eef7bf0c2a45-c000.snappy.parquet
file  51531138  part-00024-b88869d2-b679-47e6-a9ab-7a434920d7ff-c000.snappy.parquet
file  51502406  part-00025-3944d9b3-15bb-439e-b76c-ee7bf5f3f8a5-c000.snappy.parquet
file  51513942  part-00026-c36583b2-7d88-4958-bd26-f4e1760056bc-c000.snappy.parquet
file  51367886  part-00027-13d43c61-e980-476b-a537-f327a9893d36-c000.snappy.parquet
file  51478477  part-00028-5a8e0145-ada8-47ca-be92-b3dac8b18043-c000.snappy.parquet
file  51464162  part-00029-c7fc0a9a-9318-46eb-b130-e9a2209de1cd-c000.snappy.parquet
file  51471764  part-00030-21cc41eb-f27a-4e79-b943-89e55e6304be-c000.snappy.parquet
file  51529154  part-00031-f7460e47-557e-46cb-9ca5-273153f527a6-c000.snappy.parquet
file  51397207  part-00032-58710500-0a8c-4dff-bf76-0e3e414169cd-c000.snappy.parquet
file  51506234  part-00033-0e1d4307-c2c2-4280-8e8f-fac317b1abf7-c000.snappy.parquet
file  51413162  part-00034-71352935-c929-4aeb-8ed0-e843ca7b38e5-c000.snappy.parquet
file  50939362  part-00035-a8380fbd-20a0-4134-80bb-a42a092d519c-c000.snappy.parquet
file  51361043  part-00036-cd8c8e25-291f-4bad-89f5-36ccaaa3b303-c000.snappy.parquet
file  51269317  part-00037-2b588e22-ab2b-46e0-bc41-4dc6de23ca93-c000.snappy.parquet
file  51353055  part-00038-87aa3375-727c-43d5-a5fe-3a8f96f9a9de-c000.snappy.parquet
file  51359248  part-00039-b773f0bf-da86-4416-8e13-ac9b65b4fe6e-c000.snappy.parquet
file  51277753  part-00040-ab3b4492-d9e6-4422-8265-dea45b93cb81-c000.snappy.parquet
file  51461096  part-00041-8d54afc4-a461-4082-a498-841f30632b5e-c000.snappy.parquet
file  51369131  part-00042-0676f4e3-d324-481a-b219-8d947b827b7b-c000.snappy.parquet
file  51190015  part-00043-1801422a-acfe-4c80-9726-9bcc23e55a26-c000.snappy.parquet
file  51442688  part-00044-629fe344-921c-400a-9990-da75bef26a19-c000.snappy.parquet
file  51268063  part-00045-c866bd8d-a710-4aee-8afb-5e8025b222d8-c000.snappy.parquet
file  51195796  part-00046-a307d8d8-3d33-49c2-8db6-6696fa4eab55-c000.snappy.parquet
file  51163868  part-00047-f76157ee-4193-469f-a628-a8d6c6e3659b-c000.snappy.parquet
file  51230503  part-00048-e4f57059-7b5f-4f30-bf4d-15a35794025c-c000.snappy.parquet
file  59455581  part-00049-2850b901-2dbf-406c-8ffe-991c2479974d-c000.snappy.parquet
file  18663521  part-00050-137995d3-bd8e-434b-a2b1-d77b75611cef-c000.snappy.parquet
file   4988629  part-00051-64f8c21a-9ab8-4d0f-bbe6-a4774d9ffbbd-c000.snappy.parquet

databricks fs ls -l dbfs:/user/hive/warehouse/test_db.db/test_tbl/_delta_log
file     96  00000000000000000000.crc
file  23092  00000000000000000000.json
file     96  00000000000000000001.crc
file   1372  00000000000000000001.json
file     96  00000000000000000002.crc
file   1393  00000000000000000002.json

00000000000000000002.crc
{"tableSizeBytes":2605041942,"numFiles":52,"numMetadata":1,"numProtocol":1,"numTransactions":0}

00000000000000000002.json
{"commitInfo":{"timestamp":1543752787300,"userId":"6605856514319898","userName":"xxx@xxx","operation":"DELETE","operationParameters":{"predicate":"[\"(test_db.test_tbl.`c1` = 16)\"]"},"notebook":{"notebookId":"2221810962482344"},"clusterId":"1126-094127-pods946"}}
{"remove":{"path":"part-00001-5eb0fcc7-183c-4078-81ae-558a35be932e-c000.snappy.parquet","deletionTimestamp":1543752787298,"dataChange":true}}
{"remove":{"path":"part-00000-5357c4d4-dc80-4c16-87b3-a876da395d80-c000.snappy.parquet","deletionTimestamp":1543752787298,"dataChange":true}}
{"add":{"path":"part-00000-7dddda62-8837-4909-9183-fa4075bc1c1b-c000.snappy.parquet","partitionValues":{},"size":59430649,"modificationTime":1543752787000,"dataChange":true,"stats":"{\"numRecords\":6249127,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":0,\"c4\":71,\"c5\":0},\"maxValues\":{\"c1\":3926010,\"c2\":10403,\"c3\":580,\"c4\":13455500,\"c5\":3380},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":1551191,\"c4\":0,\"c5\":0}}"}}
{"add":{"path":"part-00001-91318462-059b-43ff-99da-12b9c187c465-c000.snappy.parquet","partitionValues":{},"size":18664701,"modificationTime":1543752782000,"dataChange":true,"stats":"{\"numRecords\":2542354,\"minValues\":{\"c1\":2,\"c2\":1,\"c3\":0,\"c4\":60,\"c5\":0},\"maxValues\":{\"c1\":62644,\"c2\":2244,\"c3\":500,\"c4\":4410640,\"c5\":66},\"nullCount\":{\"c1\":0,\"c2\":0,\"c3\":830732,\"c4\":0,\"c5\":0}}"}}




Обратите внимание еще на статистику MIN/MAX для каждого файла... используется для pruning'a...

Ещё инфа
https://docs.databricks.com/delta/optimizations.html
https://databricks.com/blog/2018/07/31/processing-petabytes-of-data-in-seconds-with-databricks-delta.html

Delta теперь доступна на Databricks Standard да и на обычном Apache Spark'e. Переименовали в Delta Lake.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39917493
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Databricks Connect (Python, Scala, Java)
https://docs.databricks.com/dev-tools/databricks-connect.html

New Databricks Integration for Jupyter Bridges Local and Remote Workflows
https://databricks.com/blog/2019/12/03/jupyterlab-databricks-integration-bridge-local-and-remote-workflows.html
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39917496
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Databricks Connect

Дает возможность писать всё в привычной IDE, дебажить, нормальный sorce control с ветками, CI/CD etc...
Например, написать python-скрипт (много скриптов) миксующий обычный код с джобом Spark, упаковать все зависимости в контейнер, задеплоить/зашедулить куда надо.
Также добавили возможность кастомизации image'a самого спарка (гуглится у них в доке).
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39920634
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha,

попробовал на delta lake посмотреть и что-то не понял. смотрел локальный вариант, sql похоже вообще обрезан. ни DELETE ни UPDATE не работают. лишь SELECT сработал.
попробовал считать датасет, слегка поменять, записать. папка разбухла в двое. как я понял можно дергать .delete() .update() .merge() и работа с датафреймом теперь ими ограничена. т.е. я не могу взять существующий код, подсунуть ему датасет со сториджем delta и рассчитать, что он лишь измененную часть запишет.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39921493
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
churupaha,

попробовал на delta lake посмотреть и что-то не понял. смотрел локальный вариант, sql похоже вообще обрезан. ни DELETE ни UPDATE не работают. лишь SELECT сработал.
попробовал считать датасет, слегка поменять, записать. папка разбухла в двое. как я понял можно дергать .delete() .update() .merge() и работа с датафреймом теперь ими ограничена. т.е. я не могу взять существующий код, подсунуть ему датасет со сториджем delta и рассчитать, что он лишь измененную часть запишет.


так рождаются легенды
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39932487
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
databricks docs (preview)Load data from a file location into a Delta table. This is a re-triable and idempotent operation—files in the source location that have already been loaded are skipped.

https://docs.databricks.com/spark/latest/spark-sql/language-manual/copy-into.html
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39932488
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ похоже имплементить инкрементальную загрузку станет еще проще.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39932489
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha,

и еще одна примочка для инкрементальщины...

авторAuto Loader incrementally and efficiently processes new data files as they arrive in Amazon S3 without any additional setup. Auto Loader provides a new Structured Streaming source called cloudFiles. Given an input directory path on the cloud file storage, the cloudFiles source automatically sets up file notification services that subscribe to file events from the input directory and processes new files as they arrive, with the option of also processing existing files in that directory. You can use it in the same way as other streaming sources:


https://docs.databricks.com/spark/latest/structured-streaming/auto-loader.html
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39932563
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В России это не особо акутально - ажуры вот эти все. Российские компании не идут в американские облака.

Хранилища делают в больших компаниях, а они или с госучастием или еще по каким-то причинам, но не лезут в американские облака от слова совсем. Даже та же пятерочка, которая зарегестрирована в нидерландах и со всеми бенефициарами в лондоне - не использует американские облака.

Так как переход в облака так или иначе неизбежен - это технологический тренд, думаю, всё будет в российских облаках. Облаках яндекса, майл ру, ростелекома. И стек там будет свой. Компании из последних двух, которые попроще, будут просто предоставлять гетерогенную инфраструктуру со всякими понатыканными постгре. А у Яндекса есть свои успешные продукты, как тот же Кликхаус. Ну и вообще у яши любая технология переписана с нуля в яндекс продукт, вместо хадупа у них YT, и так далее, с каждым продуктом.

я так вижу
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39932632
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
databricks docs (preview)Load data from a file location into a Delta table. This is a re-triable and idempotent operation—files in the source location that have already been loaded are skipped.


https://docs.databricks.com/spark/latest/spark-sql/language-manual/copy-into.html
при строительстве дата лейков отфильтровать уже загруженные файлы мягко говоря не самая сложная задача.
ладно. допустим я выкину SQL и все свои наработки за несколько лет, переделаю на .delete() .update() .merge() но встает следующая проблема. cloudera вырезала из своей сборки spark этот дельта лейк, т.е. hive on spark прочесть не сможет результат.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39933874
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бумбараш
В России...

это не про Россию... немного английского и всё становится актуальным, не ограничивайте себя ;)

H5N1при строительстве дата лейков отфильтровать уже загруженные файлы мягко говоря не самая сложная задача.


чем меньше рутины тем лучше, фич там масса на самом деле...

H5N1ладно. допустим я выкину SQL и все свои наработки за несколько лет, переделаю на .delete() .update() .merge()


а не нужно выкидывать: UPDATE, DELETE, INSERT, MERGE есть и в виде SQL

H5N1но встает следующая проблема. cloudera вырезала из своей сборки spark этот дельта лейк, т.е. hive on spark прочесть не сможет результат.


хз что сказать, я про Azure и AWS, после того, как Databricks ("начинатели" Spark'а) выкатили свую коммерческую поделку в AWS / Azure, ну пофиг на лм clouder'у... тем более, что скорее всего именно миграция с вашей clouder'ы в Databricks пройдет без пинков...
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39933875
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бумбараш...
с тем стеком, что вы перечислили будет тяжело работу найти вне России...
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39933931
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha

а не нужно выкидывать: UPDATE, DELETE, INSERT, MERGE есть и в виде SQL

нету, посмотрите доки, только в их облаке.

H5N1хз что сказать, я про Azure и AWS, после того, как Databricks ("начинатели" Spark'а) выкатили свую коммерческую поделку в AWS / Azure, ну пофиг на лм clouder'у... тем более, что скорее всего именно миграция с вашей clouder'ы в Databricks пройдет без пинков...
а смысл от технологии на файликах в облаке ? в облаке я тогда уж полноценное решение возьму, где не апдейт/делит без акробатики происходит и SQL быстрее чем у spark.
по мне такая штука ценна на моем железе, где выбор сториджа ограничен.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934027
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
Бумбараш...

с тем стеком, что вы перечислили будет тяжело работу найти вне России...
я там стека то никакого не перечислял. Только сказал, что у Яндекса всё своё
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934030
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
Бумбараш
В России...

это не про Россию... немного английского и всё становится актуальным, не ограничивайте себя ;)

с английским у меня всё ок. Но я никуда уезжать не собираюсь. А ковыряться в ажуре с индусами по скайпу - тоже так себе варик. Меня вполне устраивает русский стек за 300к\сек.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934162
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
где не апдейт/делит без акробатики происходит


а где массовый update/delete происходит без "акробатики"? (с таблицей / индексами все нормуль потом в тех движках?)

по-моему не плохо в delta реализован update/delete...
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934186
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
H5N1
где не апдейт/делит без акробатики происходит


а где массовый update/delete происходит без "акробатики"? (с таблицей / индексами все нормуль потом в тех движках?)

по-моему не плохо в delta реализован update/delete...

амазон Redshift, google bigtable, у майкросфта там mpp вариант sql server, они его теперь synapse обызывают. еще есть grennplum.
у клоудеры тоже вроде есть kudu, без индексов, но оно сыровато пока.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934200
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
churupaha
пропущено...


а где массовый update/delete происходит без "акробатики"? (с таблицей / индексами все нормуль потом в тех движках?)

по-моему не плохо в delta реализован update/delete...

амазон Redshift, google bigtable, у майкросфта там mpp вариант sql server , они его теперь synapse обызывают. еще есть grennplum.
у клоудеры тоже вроде есть kudu, без индексов, но оно сыровато пока.


про остальные не скажу, но про Azure DWH скажу

Azure DWH docs тынц
"For unpartitioned tables, consider using a CTAS to write the data you want to keep in a table rather than using DELETE. If a CTAS takes the same amount of time, it is a much safer operation to run as it has minimal transaction logging and can be canceled quickly if needed."


странно что ничего не пишут про columnstore в этой же статье...

я честно говоря до сих пор не понимаю, что плохого в реализации delete/update/merge от databricks, в том что оно вам доступно вне databricks только через dataframe api?
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934213
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати чтобы лить в Azure DWH через polybase прямо из Databricks есть либа ... Юзал Databricks +Azure DWH до того как его назвали Synaps Analytics... SQL очень кастрирован, будет работать быстро, если правильно заливать в columnstore (память в resource pool для на время заливки для columnstore компрессии должно быть достаточно, там формулы были чтобы оценить, rowgroups чтобы заполнялись нормально и т. п..), также постараться выровнять таблицы (distributions) чтобы при наиболее типичных джоинах не было re-shuffling'а, да как и везде видимо... чудес там нет...

из плохого помню geo-backup orphan, при отключении что-то под какотом ажура пошло не так, сторадж не освободился и нас чаржило. через месяц переписки признали ошибку - вернули деньги...
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934220
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
странно что ничего не пишут про columnstore в этой же статье...

хех, пишут и про него в конце...
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934238
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupaha
про остальные не скажу, но про Azure DWH скажу

как любой другой рсубд. в оракле тоже ctas часто быстрее.

churupaha

я честно говоря до сих пор не понимаю, что плохого в реализации delete/update/merge от databricks, в том что оно вам доступно вне databricks только через dataframe api?

а как результатом воспользоваться ? аналитики/сатанисты хотят селектить из даталейка, чем теперь ?
ну и передать дельту витрин в вертику, получится что единственный вариант - из спарка подключатся и им писать, но это как я понимаю тормозной jdbc. вероятно он сильно проиграет коннектору вертики, что берет паркет файлики с hdfs

как и везде видимо... чудес там нет...

churupaha
чтобы при наиболее типичных джоинах не было re-shuffling'а, да как и везде видимо... чудес там нет...

это понятно, но там у них млн клиентов на одного в датабриксе, соответственно и манулов, бест практиз, доков. ну и возможностей все таки поболее. те же индексы есть если что.
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934262
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
churupahaа как результатом воспользоваться ?


не подойдет такое в вашем случае? https://docs.microsoft.com/en-us/azure/databricks/delta/delta-faq

Can I access Delta tables outside of Databricks Runtime?

There are two cases to consider: external writes and external reads.

External writes: Delta Lake maintains additional metadata in the form of a transaction log to enable ACID transactions and snapshot isolation for readers. In order to ensure the transaction log is updated correctly and the proper validations are performed, writes must go through Databricks Runtime.

External reads: Delta tables store data encoded in an open format (Parquet), allowing other tools that understand this format to read the data. However, since other tools do not support Delta Lake’s transaction log, it is likely that they will incorrectly read stale deleted data, uncommitted data, or the partial results of failed transactions.

In cases where the data is static (that is, there are no active jobs writing to the table), you can use VACUUM with a retention of ZERO HOURS to clean up any stale Parquet files that are not currently part of the table. This operation puts the Parquet files present in DBFS into a consistent state such that they can now be read by external tools.

However, Delta Lake relies on stale snapshots for the following functionality, which will break when using VACUUM with zero retention allowance:

Snapshot isolation for readers - Long running jobs will continue to read a consistent snapshot from the moment the jobs started, even if the table is modified concurrently. Running VACUUM with a retention less than length of these jobs can cause them to fail with a FileNotFoundException.
Streaming from Delta tables - Streams read from the original files written into a table in order to ensure exactly once processing. When combined with OPTIMIZE, VACUUM with zero retention can remove these files before the stream has time to processes them, causing it to fail.
For these reasons we recommend the above technique only on static data sets that must be read by external tools.



Без костыля вверху:
- Databricks морда для запросов
- Худо бедно Power BI умеет коннектиться к Databricks (может быть и к Спарк)
- Для сатанистов вот тут есть (один из наших прозрел недавно) https://docs.databricks.com/applications/mlflow/index.html а так тащят с блоб стораджа трансформированное/агрегированное в виде csv/jsonline...

churupahaну и передать дельту витрин в вертику, получится что единственный вариант - из спарка подключатся и им писать, но это как я понимаю тормозной jdbc. вероятно он сильно проиграет коннектору вертики, что берет паркет файлики с hdfs


А погуглите Databricks + Vertica parallel load есть чего? я не работал с Vertica. По крайней мере в Azure DWH через либу что кидал можно из Spark'а лить через polybase (через подчиненные ноды параллельно). Там jdbc коннект к головной ноде используется "драйвером" только для DDL создать EXTERNAL SOURCES и т. п.. и для оркестровки процесса. Данные экспортятся на промежуточный blob storage, а с него нодами-воркерами Azure DWH тянутся в Azure DWH... там не тупо заливка через голову... причем с вашей стороны это обычный spark.write....save()
...
Рейтинг: 0 / 0
Data Lake как Staging Area
    #39934270
churupaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 158, страница 5 из 7
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Data Lake как Staging Area
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]