私はHiveを初めて使用しており、HiveコマンドラインでUDFを作成して使用しようとしています。FAILED:SemanticException [エラー10014]:行1:21間違った引数 'stock_price_high':
サンプルNYSEデータセットに基づいて株の共分散を計算するJavaコードを作成しました。以下は、Javaでコードです:
package udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class CoVariance extends UDF {
public Double covariance (Double stockpricex, Double stockpricey, Double avgstockpricex, Double avgstockpricey, int tuplecount) {
if (stockpricex == null|| stockpricey == null || avgstockpricex == null || avgstockpricey == null || tuplecount == 0) {
return null;
} //check for invalid parameters
Double covar = ((stockpricex-avgstockpricex)*(stockpricey-avgstockpricey)/(tuplecount - 1));
return covar.doubleValue();
} // return the final co-variance of the stocks
} // end of class
ハイブシェルにjarファイルを追加した後、私は「CV」と呼ばtempoarary機能を作成し、パラメータを渡します。
私はエラーの下に取得しています:
FAILED: SemanticException [Error 10014]: Line 1:21 Wrong arguments 'stock_price_high': No matching method for class udf.CoVariance with (double, double, double, double, bigint). Possible choices:
は間違ってここで何が起こっていますか?あなたの助けは本当に感謝されます。
また、Javaのブログがたくさんありますhttps://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/exec/UDF.html –
UDF。私が見てきたのは、その方法を言及しただけです –
私はそのリンクを辿り、UDFでブログを探すようにします。 –