2017-01-05 18 views
0

Apache Drillを使用してJSONファイルでSELECTクエリを実行しようとしています。さまざまなファイルに対してさまざまなエラーが発生しています。すべてのエラーは、JSONの解析エラーです。そのような「趨å Apache Drillが無効なUTF8文字でJSONファイルを解析する方法

  • Error: DATA_READ ERROR: Error parsing JSON - Invalid UTF-8 middle byte 0x3f

  • Error: DATA_READ ERROR: Error parsing JSON - Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value

  • Error: DATA_READ ERROR: Error parsing JSON - Illegal character ((CTRL-CHAR, code 0)): only regular white space (\r, \n, \t)

    最初のエラーの

§'暀å ':私はすでに以下を試してみました:

  • Convert_ToおよびConvert_Fromには、無効なUTF-8文字が含まれています(動作しませんでした。
  • conf/drill-env.shにDRILL_JAVA_OPTSに-Dsaffron.default.charset=UTF-16LEを追加してください(データではなくクエリに無効なUTF-8文字が含まれている場合、このオプションが使用されることが判明したため動作しませんでした) UTF-8を使用してUTF-8に変更しようとしました(Notepad ++はそれを変換できませんでした。)834保存後、再び開いたときはANSI)

答えて

1

次のいずれかを使用してエンコードを「BOM付きUTF-8」に変更します。

  • メモ帳++
  • のiconv(シェル・ユーティリティー)

と、あなたがApacheのドリルを使用して、それを照会することができます。

iConvを使用してファイルエンコーディングを 'UTF-8'に変更しました。変換されたファイルをメモ帳++で開いたとき、メモ帳++で表示されるエンコーディングは 'BOM付きUTF-8'でした。そこで、元のファイルのエンコーディングを「BOM付きUTF-8」に変更しました。

iConvを使用して変換したファイルと、Notepad ++を使用して変換したファイル(基本的に、BOM付きの「UTF-8」に変換されたファイル)はすべてApache Drillを使用して解析できます。メモ帳++を使用して

  • :メニューバーからエンコーディングを選択し、「BOM付きUTF8」にそれを変更し、ファイルを保存変換するに

    。このエンコーディングがエンコーディングリストに表示されない場合、プラグイン(または他の方法)があり、それをメモ帳++で使用できるようにすることができます。

  • のiconvを使用した:ユーティリティをダウンロードして、このコマンドでそれを実行します(この場合はUTF-8)旧エンコード-t新しいエンコーディング-fのiconv file.txtを>

注NEWFILE.TXT :大きなファイルの場合、私の場合のように変換する前に分割する必要があります。Notepad ++は2GBファイルを開くことができず、iConvも変換できませんでした。

関連する問題