jjzjj

scala - 尝试从 UDF 执行 spark sql 查询

我正在尝试使用scala在spark框架中编写一个内联函数,它将接受一个字符串输入,执行一个sql语句并返回一个字符串值valtestfunc:(String=>String)=(arg1:String)=>{valk=sqlContext.sql("""selectc_codefromr_c_tblwherex_nm="something"""")k.head().getString(0)}我正在将此Scala函数注册为UDFvaltestFunc_test=udf(testFunc)我在配置单元表上有一个数据框valdf=sqlContext.table("some_table")

hadoop - 创建一个使用可以返回列名的 UDF 函数的 hiveQL 查询

我想创建一个HiveUDF函数,该函数根据某些值返回特定的列名,例如retreivecol(age)。如果年龄为20,则返回要在选择查询中使用的列名列表,例如“name,email,fbuserid、friend列表等,如果年龄小于20岁,则单独返回“姓名”。所以我希望我的HIVEQL查询看起来像从User_Data中选择retreivecol(age);上面的查询只打印列的名称,如“name、email、fbuserid、friendslist”等,而不是将它们视为列名称并基于相同的名称进行过滤。感谢任何指针。 最佳答案 我不确定

map - PIG UDF 加载 .gz 文件失败

我编写了UDF以将文件加载到Pig中。它适用于加载文本文件,但是,现在我还需要能够读取.gz文件。我知道我可以解压缩文件然后处理,但我只想读取.gz文件而不解压缩它。我的UDF从LoadFunc扩展,然后在我的自定义输入文件MyInputFileextendsTextInputFormat中。我还实现了MyRecordReader。只是想知道extendsTextInputFormat是否是问题所在?我尝试了FileInputFormat,仍然无法读取文件。有人写过UDF从.gz文件读取数据吗? 最佳答案 TextInputForm

hadoop - 在 cloudera impala 1.2.3 中使用 date_sub() udf 从 View 查询时出现连接重置错误

我已经编写了一个查询来在Impala中创建一个View。该View包含一个字段record_date,它是格式为yyyy-MM-ddhh:mm:ss的字符串数据类型。在尝试执行使用date_sub('2014-01-3000:00:00',1)提取先前日期记录的查询时,我收到如下错误:错误:与impalad通信时出错:TSocket读取0个字节。如果我尝试对创建的表而不是View执行相同的查询,我会得到正确的输出。感谢任何帮助。谢谢 最佳答案 这是一个错误,请升级到最新版本的Impala,因为它似乎从1.2.3开始就已修复,这是很旧

java - Hive UDF 将 array<string> 作为参数传递

我正在尝试通过collect_set将数组传递给HiveUDF:SELECT...,collect_set(...)FROM...;我的HiveUDF想要接受这个数组并将每个数组元素的第一个字母附加到输出字符串:publicclassMyUDFextendsUDF{publicStringevaluate(String[]array){Stringoutput="";//Checkforvalidargumentif(array==null)returnoutput;try{//Addfirstcharacterofeveryarrayelementtooutputstringfor(

hadoop - 从 Pig UDF Java 类中的分布式缓存访问文件,Amazon EMR

我正在尝试访问UDF中的文件(sample.txt)。我想将该文件放在分布式缓存中并从那里使用它。我正在使用亚马逊EMR来运行Pig作业。我在创建集群时使用EMRbootstrap-action将文件(sample.txt)复制到HDFS。bootstrap.sh(将文件从s3复制到hdfs)hadoopfs-copyToLocals3n://s3_path/sample.txt/mnt/sample.txtUsingSample.java(使用sample.txt的UDF)publicclassUsingSampleextendsEvalFunc{publicStringuseSam

java - 鉴于我正在将 DataBag 溢出到磁盘,为什么这个 Pig UDF 会导致 "Error: Java heap space"?

这是我的UDF:publicDataBagexec(Tupleinput)throwsIOException{AggregateaggregatedOutput=null;intspillCount=0;DataBagoutputBag=BagFactory.newDefaultBag();DataBagvalues=(DataBag)input.get(0);for(Iteratoriterator=values.iterator();iterator.hasNext();){Tupletuple=iterator.next();//spillCount++;...if(someco

java - 使用 Hive UDF 计算加权因子

我是Hive的新手,我会帮助编写一个UDF函数来计算权重因子。计算看起来很简单。我有一个表,其中有一些值KEY,VALUE按GROUP_ID分组。对于一组中的每一行,我要计算权重因子,0和1之间的float,即组中该元素的权重。进入该组的权重因子之和必须为1。本例中值为距离,则权重与距离成反比。GROUP_ID|KEY|VALUE(DISTANCE)====================================110411131122213121453.......数学函数:1/(Xi*sum(1/Xk))从k=1到N)GROUP_ID|KEY|VALUE|WEIGHTING

PIG 脚本中的 Ruby UDF

我在Pig脚本中使用Ruby用户定义函数(UDF)。现在的要求是在UDF中使用“bunny”gem,所以我在所有数据节点上安装了那个gem。但是当我在PigUDF中访问该gem时,它在那里不可用。通过本地脚本,我可以在每台机器上使用该gem,但无法通过Pig脚本访问它。有什么帮助吗? 最佳答案 现在,我遇到了问题。Pig使用Jython和JRuby库来编译python和ruby​​udfs。所以如果我们单独在从节点上安装额外的模块没有任何区别。更好的方法是在这些场景中使用pig流功能。

python - Pig脚本无法注册UDF

我有一个简单的Pig脚本,它使用我创建的PythonUDF。如果我删除UDF部分,脚本可以正常完成。但是当我尝试注册我的UDF时,出现以下错误:ERROR2997:EncounteredIOException.Filepig_test/py_udf_substr.pydoesnotexist这是我的UDF:@outputSchema("chararray")defget_fistsn(data,n):returndata[:n]这是我的Pig脚本:REGISTER'pig_test/py_udf_substr.py'USINGjythonaspyudf;A=load'pig_test/