Skip to main content

はじめに

パーティション分割は、非常に大きなテーブルを複数の小さな部分に分割する、データベースのプロセスです。大きなテーブルを小さな個々のテーブルに分割することにより、スキャンするデータが少なくなるため、データの一部にのみアクセスするクエリをより高速に実行できます。 パーティション分割の主な目的は、大きなテーブルの保守を支援し、特定の操作のためのデータの読み取りや読み込みにかかる全体的な応答時間を短縮することにあります。パーティション分割を行うと、複数のストレージデバイスにまたがるファイルのクエリ実行と配布が高速化できます。 このバージョンのWorkbench 5.1パーティションサポートは、DataSetを日、月、年に基づいてセクションに分割し、ユーザーがこれらのセクションの1つから新しいデータを追加するたびに、Workbench 5.1がそのセクションを新しいデータに置き換えます。

Domoでパーティションサポートを設定する

Domo Workbench 5.1で新しいジョブを作成するときは、更新方法を パーティション に指定し、そのジョブに対してパーティションサポートが設定されるようにジョブの構成を行う必要があります。

Workbench 5.1でパーティションをサポートするジョブを作成する

外部のデータソースからDomoへデータをアップロードすることができます。これは、データ情報と接続情報をジョブとして指定することで行います。なお、この情報は保存しておき、再利用することができます。 Workbench 5.1でDataSetジョブを作成するには、
  1. [DataSetジョブ] ペインで [+] アイコンをクリックして新しいジョブを作成します。
    1.png
  2. DataSetジョブ名、データトランスポートの方法(ローカルファイルプロバイダー、ODBC接続プロバイダーなど)、データリーダー(データソース)タイプ(JIRAやExcelなど)、DataSet名とタイプ、オプションのDataSetの説明などジョブの基本設定を指定します。
注記: DataSet名は、ジョブを作成した後に変更できる唯一の設定です。ほかの設定を変更する場合は、新しいジョブを作成する必要があります。
2.png
  1. 詳細を入力したら、 [作成] をクリックします。新しく追加されたジョブのエントリーはジョブリストに表示されます。ただし、この時点ではDataSetジョブはまだ実行可能な状態ではありません。

ジョブのパーティションを構成する

ジョブの [設定] サブタブに移動し、
  1. [ソース] メニューでデータのソースを指定します。例えば、データソースがローカルファイルの場合は、ここでファイルパスを選択します。
  2. 次に、 [更新方法] メニューで [パーティション] を選択します。パーティション分割では、粒度(日や週などの)を使用してデータにグループを作成します。データはグループとして処理され、変更に応じて追加されるか置き換えられます。
    3.png
  3. データのそれぞれのドロップダウンで [パーティション] 列と [時間粒度] を選択します。DateまたはDateTimeデータタイプの列は、[パーティション]列で選択できます。
  4. データへの 変換 の適用:変換を使用すると、Domoにアップロードする前にデータをローカルで変更できます。データはコンピューターまたはサーバー上で高速に処理されます。キューに待機することはありません。データの変換には様々なオプションが選択でき、いつでもDomoで処理できるように準備できます。
    1. ドロップダウンから目的の変換を選択し、その横にある [+] ボタンをクリックします。
      4.png
    2. 選択した変換のプロパティを参照し、 [適用] をクリックします。
    3. データには複数の変換を追加できます。
    4. 特定の変換のプロパティを更新するには、 をクリックします。
    5. 特定の変換を削除するには、 をクリックします。
    6. 変換の位置を交換するには、 (上または下向きの矢印)をクリックします。
  5. ジョブを偽装する :偽装を使用すると、Domo Workbench 5.1で特定のActive Directoryユーザーとしてジョブを実行できます。
    1. [偽装が必要] チェックボックスを選択します。
    2. Active Directoryのドメイン名とユーザー名が表示されます。
    3. Active Directoryのパスワードを入力し、 [検証] をクリックします。
  6. ジョブからDomoへのデータのアップロード方法に関する高度なオプションを、 [追加設定] で設定できます。ここでは、エラーの処理方法やジョブの実行時間および実行条件を指定できます。

ジョブをスケジュール設定する

DataSetジョブでは、定期的に外部DataSetからDomoへデータをアップロードするようなスケジュールを組むことができます。この頻度については、[スケジュール]タブで指定します。

基本スケジュール

  1. [基本スケジュール] セクションでは、データの手動更新、ファイルの変更時の更新、スケジュールに従った更新ができます。
  2. スケジュールに従った更新を選択する場合は、時間間隔や特定の時間枠を指定してジョブを実行できます。

スケジュールの詳細設定

[スケジュールの詳細設定] セクションでは、ジョブの実行頻度を、1日1回、1日複数回、毎日、特定の曜日/月、毎月、複数月から選択できます。 変更を保存するには (保存)ボタンをクリックします。

ジョブのスキーマ保護

Domo Workbench 5.1は、3つの異なるスキーマ保護タイプを提供します。スキーマの変更を安全に許可するか、保護されていないスキーマの変更を許可するか、すべてのスキーマの変更を完全にブロックすることにより、スキーマの変更を制御できます。Domo Workbench 5.1では、これらのスキーマの変更を任意の方法で制御できる保護機能がサポートされています。この機能は、 [安全なスキーマの変更を許可] ビューおよび [保護されていないスキーマの変更を許可] ビューで利用できます。

列の保護

[列の保護]は、スキーマの変更をジョブに適用する際に列(データフィールド)が保護されているかどうかを示します。
  • [保護] チェックボックスが選択されている場合、列は保護され、スキーマの変更はできません。 安全なスキーマの変更 または 保護されていないスキーマの変更 のいずれかを許可しているときに、任意の列の保護を解除しようとすると(チェックを外すと)、警告が表示されます。
    重要: 保護されていない列は変更や削除をすることができますが、Domoのコンテンツが破損する可能性があります。
    5.png
  • [列の保護]では、すべての列をシングルクリックで保護または保護解除することができます。列ヘッダー(保護)の横のチェックボックスを選択すると、すべての列を一度に保護できます。同様に、このチェックボックスの選択を解除すると、同時に列の保護を解除できます。
  • 列ヘッダーをシングルクリックすると、保護されているエントリー、保護されていないエントリー、それら両方のエントリーを、フィルタリングして表示できます。
    • 通常の選択ビューを選択してクリックすると 、保護されているすべてのエントリーが[列の保護]に表示されます。
    • チェックされていないビューを選択してクリックすると 、保護されていないすべてのエントリーが[列の保護]に表示されます。
    • 混合ビューを選択してクリックすると 、保護されているエントリーと保護されていないエントリーが一緒に[列の保護]に表示されます。
  • 保護されたソース列の名前を変更することはできません。Domo Workbench 5.1では、保護されたソース列の名前は編集できない仕様になっています。ただし、ほかの列の名前またはプロパティは変更できます。
    8.png
  • 同様に、保護された列は削除できません。
  • スキーマの変更を許可する場合は、列のチェックを外してジョブを再実行します。

スキーマの変更

ドロップダウンから目的のスキーマを選択して、ジョブにスキーマの変更を適用します。
9.png
安全なスキーマの変更を許可 このオプションを選択すると、保護されていない列は次回の実行時に変更を受け入れ、その後自動的に保護されます。新しい列が追加され、今後の実行で自動的に保護されます。新しいジョブでは、 [安全なスキーマの変更を許可] オプションがデフォルトで有効になります。 保護されていないスキーマの変更を許可 保護されていないスキーマの変更の許可を選択した場合は、保護されていない列の変更や削除ができます。列は保護されていない状態のままになります。新しい列が追加されると、保護されていない状態のままになります。 すべてのスキーマの変更をブロック すべてのスキーマ変更をブロックすると、列の保護オプションが表示されません。任意の列に変更を加えてジョブを実行すると、強制的な変更に関するエラーメッセージが発生します。また、新しい列を追加することはできません。
10.png

パーティションの使用時にデータの破損を防ぐ方法

パーティションキーのデータタイプを変更すると、データが破損する恐れがあります。DataSetを作成した後は、パーティションキーを変更しないでください。

データが破損した場合のトラブルシューティング方法

無効なデータがDataSetに追加された場合は、影響を受けたパーティション内の正しいデータを使用してジョブを再実行する必要があります。修正するパーティション内の正しいデータでジョブが再実行されると、DataSetが更新されて正しいデータが利用できるようになります。 完全にパーティション分割されたDataSetは、このバージョンのWorkbench 5.1パーティションでは修復できません。

よくある質問

Domo Workbench 5.1はパーティション列で無効なデータを検出すると、ジョブの実行中にエラーを表示します。また、パーティション列にNULL値が含まれている場合は、ジョブの実行が失敗します。エラーが発生した場合は、パーティション列に無効な値またはNULL値がないかどうかを確認してください。
Domo Workbench 5.1では、新規に作成されたジョブにパーティション分割を適用することができます。ジョブの更新方法が既に指定済みで、その方法で実行している可能性があります。パーティション分割を適用するには、そのDataSet用に新しいジョブを再度作成し、更新方法を[パーティション]に指定する必要があります。
パーティション分割されたジョブのパーティションキーにNULLが表示されると、ジョブでエラーが発生します。このエラーは、Workbench 5.1がNULL値からパーティションを作成できないために発生します。
このバージョンのWorkbench 5.1では、パーティション分割されたDataSetの完全な修復置換はできません。