2016-12-23 4 views
1

私の現在のプロジェクトでは、SparkRのH2Oマシン学習ライブラリを使用しています。私は複数の.csvファイルを持っており、h2oデータフレームを通してこれらの.csvファイルを読み込んでいます。さて、私はファイル上にh2o.merge()の機能をファイルに適用して、の1つのh2oデータフレームの主キーと別のh2oデータフレームの外部キーをマップしたいと思います。私の主なh2oデータフレームは14の列を含んでいます。私はh2o.getTypes()関数を使用してすべての列のデータ型を取得します。SparkRのH2Oを使用した列(h2o.merge)の結合

h2o.merge()関数を適用するには、列の型が列挙型または実数型でなく文字列型である必要があります。したがって、列のデータ型を変換するために、私はh2o.ascharacter()h2o.asfactor()関数を使用しています。さて、私は列挙型の列をh2o.merge()関数を使用する列に変換しました。 h2o.merge()機能を使用すると、次のエラーが表示されます。 SparkR console 何か不足していますか?私はこのリンクSyntax of h2o.merge functionからh2o.merge()関数を使用する構文を取得しました。 h2oデータフレームをマージするには? factTable H2Oデータフレームのデータセットが(にsales_orgが主キーである)下に示されている サンプル:regionTable H2Oデータフレームの sample factTable data set サンプルデータセットは、(にsales_orgが外部キーである)下に示されている: Sample regionTable data set

+0

再現可能なサンプル(サンプルデータを含む)を提供できますか? –

+0

両方のテーブルのキーは何ですか?私はあなたが定義する必要があると思う。 executerはキー値なしで2つのテーブル間の類似性をどのように見つけることができますか? –

+0

@sahildesai:キーは両方のテーブルの間で定義されています。私はマージ操作のキー列のみをマッピングしています。 –

答えて

0

最後に、コメントのヒントを使って答えを見つけます。 基本的なことは、マージ操作を適用する前に、列をfactor/enumに変換する必要があることです。主キーまたは外部キーを持つ列のデータ型は、factor/enumでなければなりません。

関連する問題