3
0

More than 5 years have passed since last update.

[Azure Stream Analytics] TRY_CAST の利用

Last updated at Posted at 2017-12-04


Azure Stream Analytics のジョブを実行中、SQL Database への出力が行われず、以下のようにデータ型変換の警告が表示される場合があります。

cve11 (002).jpg cve10 (002).jpg

Warning の抜粋
Encountered error trying to write 1 event(s): Cannot convert from property 'c2' of type 'System.String' to column 'c2' of type 'System.DateTime

Azure Stream Analytics では、”Error Policy” が既定の “Retry” に設定されている場合、出力になんらかのエラーがでると、job をリトライし続けます。その結果、何度も入力のデータを参照することになり Input Events は上昇し、リソースの利用状況を表す SU % Utilization もそれに伴い上昇します。最終的にリソースを使い切り、ジョブが停止することがあります。

不正な入力データが発生しない対処を行うのが一番ですが、このデータ型変換エラーが発生するような入力が来た場合もエラーを回避し出力を行うために、以下のように Azure Stream Analytics のクエリに TRY_CAST の関数を追加する対応をとることができます。

TRY_CAST() を利用することで、CAST のエラーをハンドリングすることができます。TRY_CAST() では、キャストが成功した場合は指定されたデータ型にキャスト値を返します。それ以外の場合は NULL を返します。

(例)

SELECT
    c1,
    TRY_CAST(c2 as datetime) as c2
INTO
    [sqldbout]
FROM 
  [blobin]

+ 参考情報

TRY_CAST (Azure Stream Analytics)
https://msdn.microsoft.com/library/en-us/Mt643735.aspx”

本内容は、2017年12月時点の情報です。

Microsoft SQL Server Japan Support Team blog で公開した内容をこちらでも紹介しています。

https://blogs.msdn.microsoft.com/jpsql/2017/12/04/azure-stream-analytics-try_cast/

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0