Я пытаюсь прочитать файл JSON (многострочный) в конвейере, но beam.io.ReadFromText(somefile.json
читает по одной строке за раз.
Я пытаюсь прочитать содержимое файла как JSON, чтобы применить map
к каждой категории, чтобы загрузить соответствующий файл продуктов.
Вот как выглядит мой JSON
файл (productindex.json):
{
"productcategories" : {
"category1" : {
"productfile" : "http://products.somestore.com/category1/products.json"
},
"category2" : {
"productfile" : "http://products.somestore.com/category2/products.json"
},
"category3" : {
"productfile" : "http://products.somestore.com/category3/products.json"
},
"category4" : {
"productfile" : "http://products.somestore.com/category4/products.json"
}
}
Вот так выглядит начало моего конвейера:
with beam.Pipeline(options=pipeline_options) as p:
rows = (
p | beam.io.ReadFromText(
"http://products.somestore.com/allproducts/productindex.json")
)
Я использую модуль apache-beam[gcp]
.
Как мне этого добиться?