azure - 通过 Polybase 加载特殊字符
问题描述
我正在尝试加载单引号字符串分隔的文件,并且我能够加载数据,但包含以下格式的字符串的某些记录除外。如何在 SQL 数据仓库中使用 PolyBase 加载以下值。任何输入都受到高度赞赏。
例如:
'Don''t Include'
'1'''
'Can''t'
'VM''s'
外部文件格式:
CREATE EXTERNAL FILE FORMAT SAMPLE_HEADER
with (format_type=delimitedtext,
format_options(
FIELD_TERMINATOR=',',
STRING_DELIMITER='''',
DATE_FORMAT='yyyy-MM-dd HH:mm:ss',
USE_TYPE_DEFAULT=False)
)
解决方案
在这种情况下,您的字符串分隔符需要不是单引号。
我假设您使用的是逗号分隔的文件。你有几个选择:
- 使您的列分隔符不是逗号。
- 使您的字符串定界符成为您的数据中不存在的字符
- 使用 CSV 以外的输出格式,例如 Parquet 或 Orc
如果您要使用自定义分隔符,我建议使用 ASCII Decimal(31) 或 Hex(0x1F),这是专门为此目的而保留的。
如果您要使用字符串分隔符,您可以使用双引号(但我猜这是在您的数据中)或选择其他字符。
也就是说,我的下一个猜测是您将遇到带有嵌入式回车的数据,这将导致另一层问题。出于这个原因,我建议您将数据提取移至 CSV 以外的其他内容,并使用 Parquet 或 Orc。
推荐阅读
- react-native - 如何在 React Native for android 中塑造阴影?
- html - 如何将我的 grid-column-start 扩展到 grid-column-end 以恰好占据当前网格大小的一半
- matplotlib - Jupyter 笔记本不再显示交互式 matplotlib 图
- angular - 检测关闭浏览器角度 12 的事件
- python-3.x - Python 命令行参数字符串以 '-' 开头
- python - 为什么我的第一列出现“'DataFrame' 对象没有属性 'date_time'”错误?
- reactjs - 我想使用 PayFort Sdk 与一些库进行本机反应并出现错误
- python - 为什么 python 导入会导致 PyImport_ImportModule 出错,但不会导致 python 解释器出错
- swift - xcode Firebase Crashlytics 命令 PhaseScriptExecution 失败,退出代码为非零
- python - 如何打印列表?