【发布时间】:2019-12-01 03:31:25
【问题描述】:
我正在尝试使用 DataFlow 将 ISO-8859-1 文件加载到 BigQuery。我用 Apache Beam Java 构建了一个模板。一切正常,但是当我检查 Bigquery 表的内容时,我发现一些字符,如 'ñ' 或重音符号 'á'、'é' 等没有正确存储,它们已存储为�。
在写入 BigQuery 之前,我尝试了几次字符集更改。另外,我创建了一个特殊的 ISOCoder,使用 setCoder() 方法传递给管道,但没有任何效果。
有谁知道是否可以使用 Apache Beam 将此类文件加载到 BigQuery 中?只有 UTF-8?
提前感谢您的帮助。
【问题讨论】:
-
只是根据我的经验观察。我在西里尔字母И(唯一有问题的afaik)和字符集转换方面遇到了类似的问题。我实施了一种解决方法。在处理之前,我将 И 替换为唯一标记 RUSSIAN_I - 我需要确保在反向转换期间我不会破坏某些用户的文本。在java中处理之后,我使用正则表达式进行了这个反向转换。
标签: java google-cloud-dataflow apache-beam