Удалить конец строки запятой из файла хранилища озера данных Azure - PullRequest
0 голосов
/ 28 ноября 2018

Мне нужны некоторые входные данные для обработки файлов в хранилище озера данных Azure с помощью Power Shell.

У меня есть входной файл с разделителями в моей учетной записи ADLS Gen 1.

Содержимое файла выглядит следующим образомниже

1|2|3|a,b,
3|4|5|d,h,

Я могу удалить последнюю запятую с помощью powershell на локальном ПК, используя следующий код:

Get-Content $file_name | ForEach-Object {$_.TrimEnd(",")  } 

Но когда я запускаю тот же запрос для того же файла в озере данных AzureStorage Gen 1 Account с данными ничего не происходит.Код, который я использую:

Get-AzureRmDataLakeStoreItemContent -Account $accountName -Path $myrootdir/path/test.csv| ForEach-Object {$_.TrimEnd( ",")  }

У меня есть одно замечание, что ForEach-Object возвращается только один раз.То есть, если я печатаю привет внутри цикла ForEach-Object, он печатает только один.Но я проверил, что нет проблем с новой строкой, выполнив команды -Head и -Tail.Я прилагаю скриншот для того же.

Можете ли вы помочь мне понять, что я делаю здесь неправильно, и любую альтернативу, чтобы удалить последнюю запятую в каждой строке.

Compare behavior between Local and ADLS

1 Ответ

0 голосов
/ 28 ноября 2018

Я не думаю, что вы можете изменить элемент магазина напрямую с помощью powershell.

Get-AzureRmDataLakeStoreItemContent просто получает содержимое.(Исходя из моего опыта, если это позволяет вам сделать это, это должна быть команда типа Set-AzureRmDataLakeStoreItemContent или Update-AzureRmDataLakeStoreItemContent)

Обходной путь должен экспортировать файл -> изменитьлокально -> снова импортируйте .

Обновите :

Если я не понимаю ваш вопрос, попробуйте команду ниже.

((Get-AzureRmDataLakeStoreItemContent -AccountName "joydatalake1" -Path "/sss/test.csv").ToString() -split("`r")).Trim() | ForEach-Object {$_.TrimEnd(",")}

enter image description here

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