0

一重引用符で区切られた文字列ファイルを読み込もうとしていますが、以下の形式を含む文字列の特定のレコードを除いてデータを読み込むことができます。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)
)
4

2 に答える 2

0

この場合、文字列の区切り文字は一重引用符以外にする必要があります。

コンマ区切りファイルを使用していると思います。いくつかのオプションがあります。

  • 列の区切り文字をカンマ以外にします。
  • 文字列区切り文字をデータに存在しない文字にする
  • Parquet や Orc など、CSV 以外の出力形式を使用する

カスタム区切り文字を使用する場合は、この目的のために特別に予約されている ASCII Decimal(31) または Hex(0x1F) をお勧めします。

文字列区切り文字を使用する場合は、二重引用符を使用するか (ただし、これはデータに含まれていると思います)、他の文字を選択します。

そうは言っても、私の次の推測では、改行が埋め込まれたデータに出くわすことになり、これがさらに別の層の問題を引き起こすことになるでしょう。そのため、抽出を CSV 以外のものに移動し、Parquet または Orc に目を向けることをお勧めします。

于 2019-02-07T01:55:54.673 に答える