問題タブ [u-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 頂点の失敗によりクイック ジョブが中止されました - データ抽出中に例外がスローされました
データ レイク分析ジョブを実行していますが、抽出中にエラーが発生します。私は自分のスクリプトで TEXT エクストラクタと独自のエクストラクタを使用しています。スペース文字で区切られた 2 つの列を含むファイルからデータを取得しようとしています。スクリプトをローカルで実行するとすべて正常に動作しますが、DLA アカウントを使用してスクリプトを実行しようとするとうまくいきません。何千もの行を持つファイルからデータを取得しようとした場合にのみ問題が発生します (ただし、データは 36 MB のみ)。小さなファイルの場合、すべてが正しく機能します。頂点の総数が抽出ノードの総数よりも多い場合に例外がスローされることに気付きました。他の「大きな」ファイル(.csv、.tsv)と抽出プログラムを使用して、この問題に遭遇しました。誰かが私に何が起こるか教えてもらえますか?
エラーメッセージ:
頂点の失敗により、クイック ジョブが中止されました。頂点が失敗しました: SV1_Extract[0][0] エラー: 頂点ユーザー コード エラー。頂点がフェイルファスト エラーで失敗しました
スクリプト コード:
コードビハインド:
サンプル ファイルの一部:
ジョブ リソースで、jobError メッセージが見つかりました:
"入力ストリームの予期しない列数。"-"説明":"行 1 の入力レコードの予期しない列数。\n予期された 2 列 - 1 列のうち 1 列を処理。エラーを検出するか、\"silent\" スイッチを使用して、入力内のサイズが大きすぎる (小さすぎる) 行を無視します。\n\"無効な\" 行を無視すると、ジョブの結果に影響する可能性があることを考慮してください。
しかし、ファイルをもう一度確認したところ、間違った列数は表示されません。ファイルの分割と配布が正しくないためにエラーが発生する可能性はありますか? 大きなファイルを並行して抽出できることを読みました。下手な英語でごめんなさい。
azure-data-lake - U-SQL での TimeSpan の操作
次のテーブルを含むデータベースがあるとします。
そして、各アクティビティの期間を取得したいので、次のコードを実行してみます。
列duration
は正しい「TimeSpan」形式 (「00:00:00.0123」など) で出力されています。
ただし、AVG/MAX/etc などのその列で計算を実行しようとすると、TimeSpan を列の型として使用できないというエラーが表示されます。
azure-data-lake - U-SQL - Join BETWEEN
SQL Server では、BETWEEN ステートメントを使用して JOIN を実行し、時間範囲を複数の間隔レコードに分解します。クエリは次のようになります
これにより、StartDate と EndDate の間のデータごとに 1 つのレコードが得られます。SQL 配列を返す UDF と CROSS APPLY EXPLODE ステートメントを使用して、その爆発を行う方法を考え出しました。
私が見ている問題は、行セットの行ごとに 1 回、何百万回も日付範囲を計算していることです。これは非常に効率が悪いように見え、実際に処理時の時間消費の主な原因となっています。
上記で使用した日付テーブルを生成する手段を作成し、パフォーマンスを実験したいと考えていますが、U-SQL Join は BETWEEN ステートメントをサポートしていません。
これにはどのようなアプローチを使用する必要がありますか? CROSS APPLY がこれを処理できるかどうかは、ドキュメントから明らかではありません。
コードビハインドでUDFを使用して、間隔が2つの日付の間にある場合にtrueまたはfalseを返そうとしましたが、エラーが発生しただけで、JOIN ON句はUDFではなく列にのみ使用できます
azure-data-lake - ADLA/U-SQL エラー: Vertex ユーザー コード エラー
Extractors.Csv(encoding:Encoding.[Unicode]);
を使用してcsvを抽出し、レイクストアテーブルに出力する単純なU-SQLが あります。ファイルサイズは約600MBと小さく、Unicode形式です。行数は 700K+
これらは列です:
このジョブをローカルに送信すると、問題なくうまく機能します。ADLA に送信すると、次のエラーが表示されます。
どんな助けでも大歓迎です!
c# - 非常に大きな xml ファイルのクエリ
GB 規模の非常に大きな xml ファイルをマージしました。データを読み取って処理するために、xpath クエリで次のコードを使用しています。
ただし、MB 規模の小さなファイルでのみうまく機能します。ローカルでは問題なく動作しますが、ADLA では失敗します。名前空間マネージャーも使用する必要があります。より大きなファイルを処理できるようにスケーリングするにはどうすればよいですか。巨大なファイルを含むジョブを送信すると、情報なしで常にこのエラーが発生します。
VertexFailedError
azure - カスタム並列エクストラクター - U-SQL
カスタムの並列エクストラクターを作成しようとしましたが、正しく行う方法がわかりません。大きなファイル (250 MB 以上) があり、各行のデータが 4 行に格納されています。1 つのファイルの行には、1 つの列のデータが格納されます。これは、大きなファイルに対して動作する並列エクストラクタを作成することは可能ですか? ファイル分割後、1 行のデータが別のエクステントになると思います。
例:
私の英語でごめんなさい。