Estou comparando o título em movies.csv, que corresponde ao elemento title nos arquivos json, e então anexando o nome do arquivo a list.txt no sink. Suponha que "Big Hero" e "Moana" sejam correspondentes em file1.json e file5.json. No entanto, o ADF retorna tanto o file1.json quanto o file5.json inteiros para o sink.
Quero ver apenas os nomes de arquivo "file1.json" e "file5.json" em list.txt.
título.csv:
- O Rei Leão
- Grande Herói
- Moana
o resultado final em list.txt (sink):
arquivo1.json
arquivo5.json
Configuração do fluxo de dados do ADF:
opção de origem>coluna para armazenar nome do arquivo>lista
derivedColumn1>Columns>Title e expressão lower(trim(record.metadata.Title))
lookup1>fluxo primário> derivedColumn1
lookup1>fluxo de pesquisa> sourceCSV
filter1>filtrar em> isNull(sourceCSV@title) == false()
sink>dados da coluna>lista
Depois de obter as linhas necessárias, você pode usar a transformação select para obter apenas a
filename
coluna necessária.Antes da pesquisa, certifique-se de que as linhas no seu arquivo csv de origem sejam alteradas para minúsculas usando uma transformação de coluna derivada.
Agora, depois de usar a transformação de filtro, use a transformação de seleção com mapeamento baseado em regras, conforme mostrado abaixo.
Agora, adicione seu arquivo de texto como coletor no fluxo de dados e execute o fluxo de dados a partir do pipeline.
Ele irá gerar o arquivo de texto de destino conforme o esperado.