Apache Kylin: OOPS!Failed to Take Actions

3708 ワード

Apache Kylinを使用している間に次のような状況が発生した場合は、このブログを引き続き参照してください.1.ブラウザページでサンプル立方体を表示できませんkylin_sales_cube. 2.ブラウザページでHiveテーブルを同期できません.failed to take actionを表示します.3.立方体の作成に失敗しました.環境:CDH 5.8.0 ,Apache Kylin 2.0.0
Apache Kylinを使用するときに厄介な問題に遭遇しました.インストール後にサンプルファイルを実行し、メタデータ情報を初期化しますが、kylinを起動するとサンプルの立方体が見つかりません.hiveのテーブルをインポートしたり、立方体モデルを作成したりすることはできません.ブラウザページにもfailedエラーが表示されているだけで、価値のある情報が表示されず、kylinログを表示するしかありません.エラーの原因は、メタデータモデルを逆シーケンス化したときに認識されない記号が発生したことです.Kylinが持参したサンプルメタデータモデルはインストールファイルに存在し、jsonファイルとして存在し、Hbaseに格納されたメタデータモデルを初期化するが、モデルの2つの属性(template/cube_desc/kylin_sales_cube_desc.json 197行目程度)storage_typeとengine_typeのデフォルト値は% default_engine_type %で、この値は環境パラメータを取るべきですが、ここでは値が取られていないため、モデルが逆シーケンス化されません.json列は以下の通りです.
 "engine_type" : %default_engine_type%,
 "storage_type" : %default_engine_type%,

この2つの属性の名前が分からない場合、kylinのソースコードをダウンロードするしかなく、eclipseにインポートし、メタデータモデルに対応するjavaクラス(CubeDescクラス)を見つけ、対応するソースコードは以下の通りです.
 @JsonProperty("engine_type")
 private int engineType = IEngineAware.ID_MR_V1;
 @JsonProperty("storage_type")
 private int storageType = IStorageAware.ID_HBASE;
IEngineAwareIStorageAwareの2つのインタフェースで異なる値が宣言され、storage_typeに対応する3つの値は、立方体格納タイプを示す
 public static final int ID_HBASE = 0;
 public static final int ID_HYBRID = 1;
 public static final int ID_SHARDED_HBASE = 2;
engine_typeに対応する4つの値は、
 public static final int ID_MR_V1 = 0;
 public static final int ID_MR_V2 = 2;
 public static final int ID_MR_II = 3;
 public static final int ID_SPARK = 4;

2つの属性に対するCubeDescのデフォルト値は、ID_HBASEおよびID_MR_V1、すなわちいずれも0であるため、% default_engine_type%の代わりに、デフォルトの立方体モデルjson列で2つの属性のデフォルト値を0に変更し、最終的なjson:
 "engine_type" : 0,
 "storage_type" : 0,

Kylinを再実行してサンプルメタデータと立方体を作成すると、Kylinを正常に使用し、Hiveのテーブルを正常にインポートして立方体を構築できます.問題に遭遇した友人は参考にすることができる.