詳細モードのマッピングのトラブルシューティング ParquetファイルのDateおよびInt96データ型を読み書きするように設定されたマッピングが失敗する 詳細なソースプロパティでステージング形式としてParquetを選択した場合、Microsoft Azure Synapse SQLに対して読み取りまたは書き込みを行うように設定されたマッピングは、次の場合に失敗します。 - データがDateデータ型で、日付が1582-10-15より前の場合。- データがInt96データ型で、タイムスタンプが1900-01-01T00:00:00Zより前の場合。この問題を解決するには、マッピングタスクまたはSecure Agentのカスタムプロパティファイルで、次のSparkセッションプロパティを指定します。
- spark.sql.parquet.int96RebaseModeInWrite=LEGACY - spark.sql.parquet.datetimeRebaseModeInWrite=LEGACY - spark.sql.parquet.int96RebaseModeInRead=LEGACY - spark.sql.parquet.datetimeRebaseModeInRead=LEGACY Parquetファイル形式の日付およびタイムスタンプデータ型フィールドのタイムゾーンは、デフォルトではSecure Agentホストマシンのタイムゾーンになります。 Microsoft Azure Synapse SQLに対して読み取りまたは書き込み を行うマッピングを実行し、詳細ソースプロパティまたは詳細ターゲットプロパティでステージング形式としてParquetを選択すると、タイムゾーンはデフォルトでSecure Agentホストマシンまたはターゲットのタイムゾーンに設定されます。 日付およびタイムスタンプをUTCタイムゾーンに変更するには、このSecure Agentを使用する組織内のすべてのタスクに対して、Secure AgentディレクトリでSparkプロパティをグローバルに設定するか、特定のタスクに対して、タスクのプロパティからSparkセッションプロパティを設定します。 プロパティをグローバルに設定するには、次のタスクを実行します。 1 次のプロパティを<Secure Agentインストールディレクトリ>/apps/At_Scale_Server/41.0.2.1/spark/custom.properties ディレクトリに追加します。▪ infacco.job.spark.driver.extraJavaOptions=-Duser.timezone=UTC▪ infacco.job.spark.executor.extraJavaOptions=-Duser.timezone=UTC2 Secure Agentを再起動します。特定のタスクのプロパティを設定するには、タスクプロパティのSparkセッションプロパティに移動し、次の手順を実行します。 - セッションプロパティ名としてspark.driver.extraJavaOptionsを選択し、値を-Duser.timezone=UTC に設定します。- spark.executor.extraJavaOptions を選択して、値を-Duser.timezone=UTC に設定します。