Spark, delta table. как индексировать данные?
От: Codealot Земля  
Дата: 22.06.22 21:59
Оценка:
Данные пишутся в delta table в порядке возрастания даты/времени. Нужно извлечь все значения с датой больше определенного значения. Как это эффективно сделать в Spark?
Ад пуст, все бесы здесь.
Re: Spark, delta table. как индексировать данные?
От: Gt_  
Дата: 22.06.22 23:07
Оценка:
C>Данные пишутся в delta table в порядке возрастания даты/времени. Нужно извлечь все значения с датой больше определенного значения. Как это эффективно сделать в Spark?

partition
Re[2]: Spark, delta table. как индексировать данные?
От: Codealot Земля  
Дата: 23.06.22 00:06
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>partition


Какой именно и какие параметры? repartitionByRange?
Ад пуст, все бесы здесь.
Re[3]: Spark, delta table. как индексировать данные?
От: Gt_  
Дата: 23.06.22 08:13
Оценка:
Gt_>>partition

C>Какой именно и какие параметры? repartitionByRange?


просто делаешь delta таблицу с партицией по дате и spark/delta будет лезть четко в ту партицию где дата попадает. по сути индекс. детали тут
https://docs.delta.io/latest/delta-batch.html#partition-data

Gt_
Re[4]: Spark, delta table. как индексировать данные?
От: Codealot Земля  
Дата: 23.06.22 11:02
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>просто делаешь delta таблицу с партицией по дате


Есть разные варианты как это сделать, так что не "просто".
Ад пуст, все бесы здесь.
Re[5]: Spark, delta table. как индексировать данные?
От: Gt_  
Дата: 24.06.22 17:28
Оценка:
Gt_>>просто делаешь delta таблицу с партицией по дате

C>Есть разные варианты как это сделать, так что не "просто".


чего сложного в создании партиционированой таблички ? ну да, можно SQL синтаксис, можно в java/scala синтаксисе ... но создать табличку мягко говоря не рокет саенс.
использовать тоже: можно SQL синтаксис, можно в java/scala синтаксисе, главное что бы в запросе поле с датой, по которому нарезаны партиции фигурировало, вот и все.
Re[6]: Spark, delta table. как индексировать данные?
От: Codealot Земля  
Дата: 24.06.22 18:17
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>главное что бы в запросе поле с датой, по которому нарезаны партиции фигурировало, вот и все.


Нет, не всё. Похоже, что ты вообще не понимаешь о чем пишешь.
Ад пуст, все бесы здесь.
Re[7]: Spark, delta table. как индексировать данные?
От: Gt_  
Дата: 24.06.22 19:07
Оценка: :)
Gt_>>главное что бы в запросе поле с датой, по которому нарезаны партиции фигурировало, вот и все.

C>Нет, не всё. Похоже, что ты вообще не понимаешь о чем пишешь.


это все, зачем ты споришь, если не имеешь даже общего представления о технологии ? тем более со мной.

If a partition column is defined by one of the preceding expressions, and a query filters data using the underlying base column of a generation expression, Delta Lake looks at the relationship between the base column and the generated column, and populates partition filters based on the generated partition column if possible. For example, given the following table:
Python

DeltaTable.create(spark) \
.tableName("default.events") \
.addColumn("eventId", "BIGINT") \
.addColumn("data", "STRING") \
.addColumn("eventType", "STRING") \
.addColumn("eventTime", "TIMESTAMP") \
.addColumn("eventDate", "DATE", generatedAlwaysAs="CAST(eventTime AS DATE)") \
.partitionedBy("eventType", "eventDate") \
.execute()

If you then run the following query:
Python

spark.sql('SELECT * FROM default.events WHERE eventTime >= "2020-10-01 00:00:00" <= "2020-10-01 12:00:00"')

Delta Lake automatically generates a partition filter so that the preceding query only reads the data in partition date=2020-10-01 even if a partition filter is not specified.
Re[8]: Spark, delta table. как индексировать данные?
От: Codealot Земля  
Дата: 24.06.22 19:45
Оценка: -1
Здравствуйте, Gt_, Вы писали:

Gt_>тем более со мной.


А ты кто вообще?
Ад пуст, все бесы здесь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.