Имя поля записи схемы Avro начинается с номера

Авро документация гласит:

Часть имени полного имени, имена полей записи и символы перечисления должны:

  • начать с [A-Za-z_]
  • впоследствии содержат только [A-Za-z0-9_]

Можно ли как-то избежать первого правила и иметь имя поля записи, начинающееся с цифры, т.е. 123ColumnName? Может быть, через "побег" или специальную "запись"?

0 ответов

У вас может быть имя поля, начинающееся с цифры, "экранируя" его подчеркиванием (_).

{
    "namespace" : "com.test",
    "type" : "record",
    "name" : "digit",
    "fields": [ 
        { "name" : "_1ColumnName", "type" : ["null", "string"], "default" : null },
        { "name" : "_2ColumnName", "type" : ["null", "string"], "default" : null },
        { "name" : "_2ColumnName", "type" : ["null", "string"], "default" : null }
    ]
}

Хотя я бы не рекомендовал это, так как доступ к полям позже немного сложен. Например, вы можете рассмотреть возможность присвоения имени полю "f1ColumnName", "f2ColumnName" и т. Д.

Другие вопросы по тегам