問題タブ [udf]
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.
user-defined-functions - ネイティブ Impala UDF (Cpp) は、同じクエリで複数の呼び出しを行うと、同じテーブルの同じ入力に対してランダムに結果を NULL にする
2 つの関数を持つネイティブ Impala UDF (Cpp) があります。両方の関数は互いに補完的です。
myUDF("myInput")
myUDFReverso(myUDF("myInput"))
いつ返すべきかを出力しますmyInput
このような寄木細工のテーブルで impala クエリを実行すると、
select column1,myUDF(column1),length(myUDF(column1)),myUDFreverso(myUDF(column1)) from my_parquet_table order by column1 LIMIT 10;
出力はランダムに NULL です。
出力は、最初の実行時に次のようになります。
2回目の実行で、
また、すべての行に対して正しい値が得られることもあります。
これをImpala v1.2.4とv2.1でテストしました 。この原因は何ですか? メモリの問題?
編集1:
java - 文字列から数値を分割できません
Javaで領域変換プログラムのUdf関数を作成しています。次のデータがあります。
上記のデータを次のように分割します。
次のコードを試しました:
処理中にのみ例外が発生しました。どんな助けでも大歓迎です。
hadoop - Pig フィールド内で文字を分割する
「|」を使用したテキスト入力があります セパレータとして
PigStorageを使用して分割しました
ここで、フィールドBM901002500109999998を位置に基づいて異なるフィールドに分割する必要があります 。たとえば、0-2 = BM - Field1 などとします。したがって、このステップの後、BM、90100、2500、10、9999998 を取得する必要があります。Pig スクリプトでこれを達成する方法はありますか。それ以外の場合は、UDF を作成し、必要な位置にセパレーターを配置する予定です。
ありがとう。
eclipse - org.apache.spark.sql.catalyst.errors.package$TreeNodeException: 実行、ツリー:
Scala Luna Eclipse IDE を使用して、spark で日付機能を抽出するための単純な UDF を登録しようとしています。これは私のコードです:
sqlContext.udf.register("extract", (dateUnit: String, date : String) => udf.extract(dateUnit,date ) )
この機能を Eclipse コンソールで実行すると、Select * from date_dim WHERE d_dom < extract('YEAR', '2015-05-01') limit 10"
ansエラーをスローします
問題が何であるかを正確に見つけることができません。直接定義されている単純な udfs はsqlContext.udf.register("strLength", (str: String) => str.length() )
正常に実行されます。上記の同じ関数は、spark の Scala シェルを介して正常に実行されます。ここでの問題は何ですか。私は何か間違ったことをしていますか?
sql-server-2008 - クエリをパラメーターとして udf 関数に渡す
次のように、スカラー値の選択クエリをパラメーターとして関数に渡したいと思います。
db サーバーは次のエラーをスローします。
クエリをパラメーターとして渡すための回避策はありますか?
sql-server - SQL Server のテーブル列で UDF を既定値として使用する
SQL Server 2012 Express でスケーラー UDF (sCurrentAppUser() と呼ばれる) を作成しました。テーブルを定義するときに、この UDF を既定値として使用したいと考えています。しかし、試行するたびに、「'sCurrentAppUser' は認識された組み込み関数名ではありません」というエラーが表示されます。
まだ 2 つ以上のリンクを投稿できないので (評判)、私の研究と参考文献へのリンクをコメントに記載します。
ここに私のUDFがあります:
そして、最初の列にデフォルトの制約を付けてテーブルを作成しようとしました:
hadoop - PIG UDF 内のテーブル スキーマ
Hive テーブルにロードする前に、フラット ファイルのデータをフォーマットする必要があります。
ファイルはパイプで区切られており、フラット ファイルのさまざまな列にさまざまなクリーニングおよび書式設定関数を適用する必要があります。Clean_Text、Format_Date、Format_TimeStamp、Format_Integer などの関数が複数あります。
私の考えは、スキーマをコンストラクターとして UDF に渡し、豚のフラット ファイルでさまざまな関数を呼び出すことです。
しかし、どうすればスキーマを渡すことができますか? DUMP A は実際にはテーブル全体をダンプしますが、メタデータのみが必要です。私の現在のUDF疑似コードは次のようになります
public class DataColumnFormatter extends EvalFunc {
}
PIG UDF でスキーマを取得するにはどうすればよいですか、またはこれを実現する別の方法はありますか。
前もって感謝します。
java - 単一の列に Pig UDF を適用し、他のすべての列を自動的に生成します
パイプ区切りのデータ ファイルで Ebcidic 文字を ASCII に変換する Pig UDF があります。何百もの列があり、UDF を 70 列目に適用したいと考えています。その特定の列にUDFを適用し、列データをデータセットでASCIIとして置き換えるにはどうすればよいですか。
上記のようにスクリプトを呼び出すと、結果の一部として変換された列のみが取得されます。適用された udf 列とともにすべての列を取得するにはどうすればよいですか。
どんな助けでも感謝します。
c# - C# LINQ クエリで SQLite ユーザー定義関数を呼び出す方法
SQLite と C# を使用して、LINQ クエリ内で UDF を呼び出そうとした人はいますか?
オンラインで検索したところ、C# での UDF 関数の作成についてこれを見つけました
http://www.ivankristianto.com/howto-make-user-defined-function-in-sqlite-ado-net-with-csharp/
LINQ to Entities での関数の呼び出しに関しては、ここに解決策があります
Entity Framework 6 で DB 関数を呼び出す
これが私がこれまでに得たものです。データベース モデルと linq を SQLite に作成します。
これをデータベース モデル ファイルに追加します。
このコードを追加します
このコードを試してみると
このエラーが発生します
このコードを試してみると
このエラーが発生します
ここから何ができますか?
sql - 標準クエリまたは UDF を使用して、1 つの行をマークし、その特定の値を Hive に格納するにはどうすればよいですか?
Hive でクエリを作成するか、次のことを行う必要がある関数を定義する必要があります。
データセット:
そのため、クエリは、特定の学生が特定のコンピューター プールで最初にマシンを使用したときと、別のプールで最初にマシンを使用し始めたときの差を計算することによって、その学生が特定のコンピューター プールで過ごした時間を調べる必要があります。したがって、この例では、彼が費やした時間は次の差になります: 11:00AM - 9:15AM = 1Hour45Mins
ここでの質問は、1 つのストア時間値で最初に使用したものをマークし、後で次のプール データを見つけたときにそれを使用する方法です。