問題タブ [table-statistics]

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.

0 投票する
0 に答える
826 参照

r - reshape2: dcast マージンの動作

私を混乱させている reshape2::dcast の振る舞いを理解する助けを求めるために書いています。次の 4 行を実行すると (サンプル データセット 'french_fries' は 'reshape2' パッケージに付属しています)、長さが異なる 3 つの data.frames が得られますが、並べ替えられた行と列を除いてそれらは同一であると予想されます。

式の左側の変数はネストされたものとして扱われているので、最初の変数のレベル内で 2 番目の変数のマージンしか得られませんか? 洞察、特に 1 つの関数呼び出しを使用して 3 種類のマージンすべてを取得する方法の説明に感謝します。

どうもありがとう!

0 投票する
1 に答える
715 参照

sql - サンプルを使用したteradata収集統計がうまく機能しない

問題のサンプル 2 pct の複数列統計を収集しようとしてVT いますが、サンプルが得られないか、何か不足しています

揮発性テーブル VT には数十億の行があり、VT の統計を収集するには、通常の統計収集と同じくらい「永遠に」時間がかかります。
また、他の場所でも、過去の同様の状況で、「新しい」(1 つの列に多くの列がある) 統計収集構文を使用すると、最初の列がサンプリングされ、残りは無視されることがわかりました (現在、この 2 番目の部分はすべて検証されていません)。ヒストをのぞき見するのではなく、「かかった時間」の予感に基づいているので、方法. )

ここ

/* SamplePercent */ 0.00,
私が行っていることです。私は何かが欠けていると確信しています。

0 投票する
0 に答える
1214 参照

apache-spark - Apache Spark で Hive 列の統計を収集する

Pyspark 2.1ハイブテーブルからテーブルと列の統計を計算するために使用します。

私がする時:

DESCRIBE EXTENDEDSQL コマンドを使用して統計を収集できます。

ただし、次のように列統計を計算する場合:

ジョブは送信され、正常に完了しましたが、この回答でアドバイスされているように、SQL コマンドを使用して統計を収集できません。

私は得る:

ParseException サポートされていない SQL ステートメント

同じDESCRIBE EXTENDEDクエリを (列名なしで) 再発行しても、CatalogTable に変更は返されません。テーブルの統計情報 (つまり、sizeInBytes と rowCount) しか表示されません。

This other answerは、メタストアの「テーブル」からSpark統計を取得することを示唆していますが、これは私には不可解です...

Spark 内でこれらの列レベルの統計にアクセスするにはどうすればよいですか?


編集:私はこれをさらに調査しました。これにより、質問の範囲を絞り込むことができます:

Hive クライアント (Hive View 2.0) と Spark SQL が同じ場所に統計を書き込まないようです。

  • Spark SQL のANALYZE TABLEメソッドを使用すると、テーブル統計のみが CatalogTable のStatisticsキーに表示されます。

    /li>

ただし、Hive View はこれらの統計を認識できず、テーブルの統計には表示されません。

  • 逆に、Hive ビュー内でテーブルまたは列の統計を計算する場合、Spark SQL のDESCRIBE EXTENDED方法でテーブルの統計を収集できますが、それらは CatalogTable のPropertiesキーに表示されます。また、一部の列統計が計算されているかどうかも示します。

    /li>

したがって、これらの情報は独立しているように見え、私の質問は次のようになります。Spark が実行計画を最適化するために使用できるのはどの部分ですか? これらの質問のいくつかは、Spark の最新バージョンにアップグレードすることで解決できることは理解していますが、現時点ではスケジュールに含まれていません。

上記の Jacek Laskowski の回答DESCRIBE EXTENDEDは、Hive の統計が Spark SQLメソッドを介して利用できる場合に使用できることを示唆しています。

誰でもこれを確認できますか?

これを解決するのを手伝ってくれてありがとう。

0 投票する
1 に答える
396 参照

oracle - Oracle - GATHER_TABLE_STATS の後でも NONE を示す列ヒストグラム

ウィンドウ パーティションを使用している Oracle 12c で SQL クエリのパフォーマンス チューニングを行おうとしています。テーブル PIT の HUB_POL_KEY、PIT_EFF_START_DT に作成されたインデックスがあります。/*+ gather_plan_statistics */ ヒントを使用して説明計画を実行しているときに、説明計画にウィンドウ ソート ステップがあり、推定行数が 5000K で、実際の行数が 1100 であることがわかりました。テーブルで DBMS_STATS.GATHER_TABLE_STATS を実行しました。 . USER_TAB_COLUMNS テーブルをチェックインすると、HUB_POL_KEY、PIT_EFF_START_DT に対して生成されたヒストグラムがないことがわかります。ただし、他のすべての列にはヒストグラムが存在します。

SQL クエリ

1 回目の試行:

2 回目の試行:

ヒストグラムの確認:

テーブル統計:

ここで何が欠けていますか?サイズを指定する method_opt を使用して gather_table_stat プロシージャを実行している場合でも、バケット サイズが 1 になるのはなぜですか?