Microsoft Azure Data Lake Storage Gen2コネクタ > トラブルシューティング > マッピングのトラブルシューティング
  

マッピングのトラブルシューティング

ParquetまたはAvroファイル形式の日付およびタイムスタンプデータ型フィールドのタイムゾーンは、デフォルトではSecure Agentホストマシンのタイムゾーンになります。  
マッピングを実行して、ParquetまたはAvroファイル形式の日付およびタイムスタンプデータ型のフィールドに対して読み取りまたは書き込みを行う場合、タイムゾーンはデフォルトでSecure Agentホストマシンのタイムゾーンになります。  
日付とタイムスタンプをUTCタイムゾーンに変更するには、Secure AgentでJVMOptionsを設定します。  
次の手順を実行して、Secure AgentのJVMオプションを設定します。
  1. 1[Administrator] > [ランタイム環境]を選択します。
  2. 2[ランタイム環境]ページで、JVMOptionsを設定するSecure Agentを選択します。
  3. 3右上隅の[編集]をクリックします。
  4. 4[システム構成の詳細]セクションで、サービスとして[データ統合サーバー]を選択し、タイプとして[DTM]を選択します。
  5. 5[JVMOption]フィールドを編集して、値を-Duser.timezone=UTCに設定します。
  6. 6[保存]をクリックします。
Javaヒープ領域エラーが発生してマッピングが失敗する
Microsoft Azure Data Lake Storage Gen2のフラットファイルに対する読み取りまたは書き込みを行うと、特定のマッピングが次のエラーで失敗する場合があります。
[ERROR] java.lang.OutOfMemoryError: Java heap space
マッピングを正常に実行するには、ヒープサイズを増やす必要があります。推奨されるヒープサイズは1GBです。
以下の手順を実行してSecure AgentのJVMオプションを設定し、Javaヒープサイズのメモリを増やします。
  1. 1[Administrator] > [ランタイム環境]を選択します。
  2. 2[ランタイム環境]ページで、利用可能なSecure Agentのリストからメモリを増加するSecure Agentを選択します。
  3. 3右上隅の[編集]をクリックします。
  4. 4[システム構成の詳細]セクションで、サービスとして[データ統合サーバー]を選択し、タイプとして[DTM]を選択します。
  5. 5[JVMOption]フィールドを編集して、値を-Xmx1024mに設定します。
  6. 注: 推奨されるヒープサイズは1GBです。処理するデータに基づいて、ヒープサイズを増やすことができます。
  7. 6[保存]をクリックします。
Unicode文字列がターゲットに正しく書き込まれない
LinuxマシンでMicrosoft Azure Data Lake Storage Gen2マッピングを実行し、ソース接続とオブジェクトをパラメータ化し、既存のターゲットにデータを追加すると、データ内のUnicode文字列がターゲットに正しく書き込まれません。
この問題を解決するには、環境変数LC_ALL="en_US.UTF-8"をLinuxマシンのSecure Agentで設定し、Secure Agentを再起動します。
ディレクトリ名またはサブディレクトリ名にUnicode文字が含まれている場合にマッピングが失敗する
Microsoft Azure Data Lake Storage Gen2のフラットファイルの読み取りまたは書き込みを行った場合、ディレクトリ名またはサブディレクトリ名にUnicode文字が含まれていると、マッピングが失敗します。
この問題を解決するには、環境変数LC_ALL = "en_US.UTF-8"をSecure Agentで設定し、Secure Agentを再起動します。
[追加]書き込みストラテジを使用する場合、ソース内の英語以外の文字がターゲットに正しく書き込まれません。
Microsoft Azure Data Lake Storage Gen2ターゲットのフラットファイルにデータを追加すると、ソースの英語以外の文字がターゲットに正しく書き込まれません。
英語以外の文字をターゲットに正しく書き込むには、Secure AgentでJVMOptionsを設定します。  
次の手順を実行して、Secure AgentのJVMオプションを設定します。
  1. 1[Administrator] > [ランタイム環境]を選択します。
  2. 2[ランタイム環境]ページで、JVMOptionsを設定するSecure Agentを選択します。
  3. 3右上隅の[編集]をクリックします。
  4. 4[システム構成の詳細]セクションで、サービスとして[データ統合サーバー]を選択し、タイプとして[DTM]を選択します。
  5. 5[JVMOption]フィールドを編集して、値を-Dfile.encoding=UTF-8に設定します。
  6. 6[Save](保存)をクリックします。
/tmpディレクトリへのアクセスに失敗したためにマッピングが失敗する
Microsoft Azure Data Lake Storage Gen2マッピングを実行すると、Secure Agentはファイルを一時ステージングフォルダにステージングします。デフォルトでは、ステージングデータのフォルダは/tmpです。
/tmpフォルダへの読み取りおよび書き込み権限があることを確認してください。
一時ステージングフォルダを変更するには、次の手順を実行します。
  1. 1[Administrator] > [ランタイム環境]を選択します。
  2. 2[ランタイム環境]ページで、JRE_OPTSフィールドを設定するSecure Agentを選択します。
  3. 3右上隅の[編集]をクリックします。
  4. 4[システム構成の詳細]セクションで、サービスとして[データ統合サーバー]を選択し、タイプとして[DTM]を選択します。
  5. 5[JRE_OPTS]フィールドを編集して、値を-Djava.io.tmpdir=<DIR>に設定します。
  6. 6[Save](保存)をクリックします。