Данные, записанные в файл, вышли из строя в Apache Beam - PullRequest
0 голосов
/ 03 октября 2018

Я читаю файл Json, используя TextIO в Apache Beam и пытаюсь записать его обратно в файл (просто чтобы посмотреть, что читается).Данные выходного файла имеют неправильный формат

Ввод:

[{
    "id": 1,
    "username": "mrscarter",
    "email_address": null,
    "phone_number": null,
    "first_name": "Beyonce",
    "last_name": "Knowles-Carter",
    "middle_name": null,
    "sex": null,
    "birthdate": "1981-09-04",
    "join_date": "2016-01-01",
    "previous_logins": 10000,
    "last_ip": "testing"
},

{
    "id": 2,
    "username": "jayz",
    "email_address": null,
    "phone_number": null,
    "first_name": "Shawn",
    "last_name": "Carter",
    "middle_name": "Corey",
    "sex": null,
    "birthdate": "1969-12-04",
    "join_date": "2016-01-01",
    "previous_logins": 20000,
    "last_ip": null
}]

Ввод:

 [{
    "id": 1,
    "username": "mrscarter",
    "email_address": null,
    "phone_number": null,
},

{
    "id": 2,
    "username": "jayz",
    "email_address": null,
    "phone_number": null,
    "middle_name": null,
    "sex": null,
    "birthdate": "1981-09-04",
    "join_date": "2016-01-01",
    "middle_name": "Corey",
    "sex": null,
    "birthdate": "1969-12-04",
    "join_date": "2016-01-01",
    "previous_logins": 20000,
    "last_ip": null
}]
    "first_name": "Shawn",
    "last_name": "Carter",
    "first_name": "Beyonce",
    "last_name": "Knowles-Carter",
    "previous_logins": 10000,
    "last_ip": "testing"

Почему это происходит?Есть ли способ записи в файл в последовательности?

Edit :

Это базовый конвейер, который читает Json и записывает его обратно в файл.

PipelineOptions options = 
   PipelineOptionsFactory.create();

Pipeline p = Pipeline.create(options);

Schema  schema = new Schema.Parser().parse(new 
      File("C:\\Users\\abc\\\\beamexample\\src\\main\\schemas\\test.avsc"));

    PCollection<String> inputJson=
           p.apply("Read JSON", TextIO.read().
                    from("C:\\Users\\abc\\Desktop\\test.json"));

    inputJson.apply(TextIO.write().withoutSharding().to("C:\\Users\\abc\\beamexample\\Output.txt"));
  p.run();

Я не вижу другого способа проверить, есть ли у PCollection данные, поэтому я записываю их обратно в файл для проверки

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