草庐IT

hadoop - 多个 Hive 连接因执行错误而失败,返回代码 2

我正在尝试执行一个查询,其中一个表与其他两个表保持外部联接。查询如下:SELECTT.Rdate,c.Specialty_Cruises,b.Specialty_Cruisesfromarunf.PASSENGER_HISTORY_FACTTLEFTOUTERJOINarunf.RPT_WEB_COURTESY_HOLD_TEMPCon(unix_timestamp(T.RDATE,'yyyy-MM-dd')=unix_timestamp(c.rdate,'yyyy-MM-dd')ANDT.book_num=c.Courtesy_Hold_Booking_Num)LEFTOUTERJO

hadoop - 从谷歌云存储直接下载文件到 HDFS 和 Hive 表

我在Windows命令行上工作,因为Unix和防火墙的问题阻止gsutil工作。我可以读取我的GoogleCloudStorage文件并将它们复制到其他存储桶(我不需要这样做)。我想知道的是如何将它们直接下载到HDFS(我正在“进入”)?有没有人这样做过?理想情况下,这是第一部分,第二部分是为GoogleCloudStorage数据创建Hive表,以便我们可以使用HiveQL和Pig。 最佳答案 您可以使用GoogleCloudStorageconnector它为您在GoogleCloudStorage中的数据提供了一个HDFS-A

hadoop - Hive from_unixtime() 生成不合适的日期

我正在使用查询从名为dual的虚拟表生成时间戳。但是,从该表返回的日期似乎无效。selectString(max(max_lid_date))asprev_reqline_max_lid_date,from_unixtime(unix_timestamp(),'YYYY-MM-DDhh:mm:ss')asjob_start_date,from_unixtime(unix_timestamp(),'YYYY-MM-DD00:00:01')aspull_to_datefromxxcss_ktn_req_line_detail_log;查询结果:prev_reqline_max_lid_da

java - 带有外部库的 Hadoop Hive UDF

我正在尝试为HadoopHive编写一个UDF,用于解析用户代理。以下代码在我的本地机器上运行良好,但在Hadoop上我得到:org.apache.hadoop.hive.ql.metadata.HiveException:Unabletoexecutemethodpublicjava.lang.StringMyUDF.evaluate(java.lang.String)throwsorg.apache.hadoop.hive.ql.metadata.HiveExceptiononobjectMyUDF@64ca8bfbofclassMyUDFwitharguments{AllOccu

hadoop - Hive:断言/测试两列始终包含相同的值

我想检查我的Hive表中具有相同类型的两列是否始终具有相同的值(可能是一个子集)。有人askedasimilarquestionpreviously,但我不认为它在那里得到了最终的回答。我基本上是在寻找sum(col==col2)类型的语义。 最佳答案 selectsum(casewhen!(col1=col2)then1else0end)assum_not_equalfrom(select20col1,20col2unionallselect10col1,10col2)s或count(casewhen!(col1=col2)the

java - 信息 : Transport Used for JDBC connection: null + Apache Hive

我正在尝试通过JDBC连接ApacheHive和eclipse,但出现以下错误。以下是版本信息:ApacheHadoop:2.7.1,Hive:1.2.1和EclipseKepler。****Error:****Dec29,20156:04:00PMorg.apache.hive.jdbc.UtilsparseURLINFO:Suppliedauthorities:localhost:10000Dec29,20156:04:00PMorg.apache.hive.jdbc.UtilsparseURLINFO:Resolvedauthority:localhost:10000Dec29,

hadoop - Tez Pushdown Predicate 上的 Hive 在分区表上使用窗口函数的 View 中不起作用

在Tez上使用Hive针对此View运行此查询会导致全表扫描,即使在regionid和id上存在分区也是如此。ClouderaImpala中的这个查询需要0.6秒才能完成,而使用HortonworksDataPlatform和Tez上的Hive则需要800秒。我得出的结论是,在Tez上的Hive中使用窗口函数可以防止谓词被下推到内部选择,从而导致全表扫描。CREATEVIEWlatestpositionASWITHt1AS(SELECT*,ROW_NUMBER()OVER(PARTITIONBYregionid,id,deviceidorderbytsdesc)ASrownosFROM

hadoop - Hive 当前日期函数

我想在直线上获取当前日期。我试着用这个:FROM_UNIXTIME(UNIX_TIMESTAMP())它输出这个:16-03-21我想要得到的东西:2016-03-2109:34我该怎么做?我在这里看到直线文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions但它对我不起作用。 最佳答案 您可以通过将预期格式作为from_unixtime函数的参数传递来获取它。示例:selectfro

python - 来自 Hive 查询的持久 PySpark Dataframe

我正在从Hive表中获取一些数据:df=sqlContext.sql('selectshubiru,datefromthebigtablebtwherebt.num>10')df.show()#herethequeryisprocessedandtheresultsshown而且一切正常。现在我想对df进行操作,但是每次我对df进行操作时,它都会再次运行针对Hive的查询:importpyspark.sql.functionsasfuncfromdatetimeimportdatetimefrompyspark.sql.typesimportTimestampTypedt_udt=fu

scala - 我想将 Hive 中所有现有的 UDTF 转换为 Scala 函数并从 Spark SQL 使用它

任何人都可以给我一个用scala编写的返回多行并将其用作SparkSQL中的UDF的示例UDTF(例如;explode)吗?表:表1+------+----------+----------+|userId|someString|varA|+------+----------+----------+|1|example1|[0,2,5]||2|example2|[1,20,5]|+------+----------+----------+我想创建以下Scala代码:defexampleUDTF(var:Seq[Int])={//codetoexplodevarAfield???}sql