Передача переменной из скрипта Linux в Spark Scala для объединения файлов паркета - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь объединить несколько файлов паркета в несколько каталогов, используя Spark scala.

Код должен вычислять значение раздела на основе аргумента, предоставленного пользователем в командной строке. Основываясь на этом значении раздела, онобъединит файлы паркета, а затем добавит этот раздел в каталог /apps/..../<partition>

и объединит файлы и запишет в другое место

Я пытался сделать это с помощью сценария оболочки

сценарий оболочки

#!/bin/bash
daysToDeduct="$1"
day1=$((daysToDeduct-1))
DAY_1=`date --date="$day1 days ago" +%Y%m%d`


script.scala

val DAY1= sqlContext.read.parquet("/apps/..../$DAY_1/*").coalesce(1)
DAY1.write.mode(SaveMode.Overwrite).parquet(/tmp/.../$DAY_1/)

Предположим, я выполняю сценарий сегодня (8 октября 2019 года), а разделы присутствуют для 4-го октября, то есть /apps /.../ 20191003, затем

script.sh 5

val DAY1= sqlContext.read.parquet("/apps/..../20191003/*").coalesce(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...