需要在CsvToAvro中支持”type为’MAP’的字段。

huangapple go评论74阅读模式
英文:

Need support for type "MAP" field in CsvToAvro

问题

我正在参考以下网址将CSV转换为Avro:

https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/dataflow/transforms/src/main/java/com/example/CsvToAvro.java

我的需求是,我在我的CSV中有一个字段作为“map”。

{id=1,name=rahul,{address1=Pune,address2=Hyderabad},phone:78888888888}

现在,对于{address1=Pune,address2=Hyderabad} 这个字段,它将因为是MAP类型而失败。

任何人,你能告诉我如何解决这个问题吗?

英文:

I am referring below URL to convert CSV to Avro

https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/dataflow/transforms/src/main/java/com/example/CsvToAvro.java

my requirement, I have a "map" as a field in my CSV.

{id=1,name=rahul,{address1=Pune,address2=Hyderabad},phone:78888888888}

Now it will fail for {address1=Pune,address2=Hyderabad} this field as it type of MAP.

Anyone, could you please let me know how to solve this.

答案1

得分: 1

如果您查看 "CsvToAvro.java" 的实现,它会将 "delimiter" 作为参数进行接受。
因此,如果我们传递类似于 ",(?!\[^\{]*\}))" 的正则表达式作为参数,那么它将会分割CSV字符串,但不会在括号({})内部进行分割。

英文:

If you check "CsvToAvro.java" implementation it accepts "delimiter" as a parameter.
So if we pass regex like ",(?![^\{]*\}))" a parmeter then it split the CSV string but it will not split inside the braces ({}).

huangapple
  • 本文由 发表于 2020年8月17日 18:16:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/63448837.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定