Могу ли я поместить расписание в сборку, а не в набор данных?

#schedule #palantir-foundry #foundry-code-repositories

#Расписание #палантир-литейное производство #литейный цех-код-хранилища

Вопрос:

Я хочу иметь возможность создавать новый набор данных с каждой сборкой, где к имени добавляется текущая дата, например:

 dataset_output_2021-11-27 dataset_output_2021-11-28 dataset_output_2021-11-29  

Можно ли включить в сборку расписание, а не один набор данных, чтобы новые наборы данных создавались ежедневно?

Ответ №1:

Я думаю, что другой подход был бы более элегантным. Я предлагаю не создавать кучу таблиц, а сохранить все данные в одной таблице с одним дополнительным столбцом для даты.

Я думаю, что у вас уже есть набор данных, который представляет данные за текущий день (например input_data ).

Следующее преобразование добавит date столбец в постоянно растущую history таблицу, чтобы вы всегда могли получить доступ к данным на любую дату.

 from transforms.api import transform, Output, Input, incremental from pyspark.sql import functions as F   @incremental(snapshot_inputs=['input_data']) @transform(  input_data=Input("/path/to/snapshot/input"),  history=Output("/path/to/historical/dataset"), ) def my_compute_function(input_data, history):  input_df = input_data.dataframe()  input_df = input_df.withColumn('date', F.current_date())   history.write_dataframe(input_df)  

Я взял большую часть кода из литейной документации. Попробуйте выполнить поиск «Создать исторический набор данных из моментальных снимков» в вашей системе.

Ответ №2:

На данный момент решение во время выполнения создать новый набор данных не поддерживается.

Если вы можете дать более подробную информацию в отдельном вопросе о том, чего вы пытаетесь достичь, я мог бы дать более подробные рекомендации.

Однако, если вам нужен эффективный способ записи данных на основе нового дня, вам следует ознакомиться с документацией вашей платформы по разделению в стиле улья! Это отличный метод для быстрой фильтрации ваших данных.