在 R 中,如何从字段中删除换行符以便 Amazon Athena 可读?

In R How do you remove line breaks from a field so it's readable by Amazon Athena?

我在 R (Max OSX) 中为我的 ETL 过程工作,必须将它导出到 AWS S3 存储桶,以便 Athena 可以读取它。目前 Athena 没有正确读取它,因为列内有换行符。如何在不从数据中删除所有换行符的情况下修复它?

听起来就像你有一个 CSV 文件,在一两列中有换行符。这……不太好……对任何事情来说,真的,包括 Athena(但是这些 "big data" 系统 太可爱了 因为尤其是它似乎无法做其他环境无法读取 CSV 文件的事情轻松应对)。

听起来您需要制作任何东西才能在 Tableau 中使用(尽管我不太确定为什么不能将其写入多种格式)。我是从你最近问的另一个问题中得到的。

Tableau 可以读取换行符分隔的 JSON 和 Athena 喜欢 换行符分隔的 JSON,所以只需将您的数据框写成如下内容:

jsonlite::stream_out(mtcars, gzfile("mtcars.json.gz"))

将其转移到 S3 并在 Athena 中定义架构(就像您无论如何都必须使用 CSV 一样)。

如果那个可怕的程序不能处理 gzip'd ndjson,你也可以将你的龙粪 (tableau/drag-n-drop) 用户指向文件或未压缩版本。