Как обработать CSV с разными столбцами в CDAP (Datafusion)? - PullRequest
1 голос
/ 28 января 2020

У меня есть случай, когда я получаю несколько CSV от третьих лиц (не сложно заставить их изменить формат), и эти CSV должны иметь одинаковые столбцы, но иногда один или несколько столбцов отсутствуют. Если я использую файл CDAP (чтение в виде текста), а затем Wrangler для обработки CSV, то Wrangler со следующей директивой:

parse-as-csv :body '\\t' true
cleanse-column-names 

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

До сих пор я пытался использовать файл для чтения в виде BLOB-объектов и для вывода в виде байтов с помощью Wrangler, настроенного с помощью этой директивы:

set-type :body string
parse-as-csv :body '\t' true
cleanse-column-names

Но теперь у меня даже нет вывода (или ошибки), поэтому я не знаю, как разобрать эти неоднородные файлы. Может ли CDAP справиться с этим делом? Если да, то как?

1 Ответ

1 голос
/ 29 января 2020

Вы можете использовать директиву set-column , чтобы добавить новые столбцы в файлы, в которых нет всех необходимых столбцов. В целом, я бы порекомендовал вам изучить всю документацию по директивам для предварительной обработки ваших файлов.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...