jjzjj

hadoop - 尝试用 HQL 中的变量替换 HIVE 字符串文字

您好,我有一个简单的创建表语句...setlocation_stage=${env:HDFS_STAGING_DIR};CREATEEXTERNALTABLEIFNOTEXISTSstage.test(TEST_IDINT,TEST_NAMESTRING)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.OpenCSVSerde'WITHSERDEPROPERTIES("separatorChar"=",","quoteChar"="\"","escapeChar"="\\")STOREDASTEXTFILELOCATION"${hivevar:

hadoop - Hive 中的 CRUD 操作

我正在尝试在Hive中执行CRUD操作并能够成功运行插入查询,但是当我尝试运行更新和删除时出现以下异常。失败:SemanticException[错误10294]:尝试使用不支持这些操作的事务管理器进行更新或删除。我运行的查询列表CREATETABLEstudents(nameVARCHAR(64),ageINT,gpaDECIMAL(3,2))CLUSTEREDBY(age)INTO2BUCKETSSTOREDASORC;INSERTINTOTABLEstudentsVALUES('fredflintstone',35,1.28),('barneyrubble',32,2.32);C

hadoop - 通过 HQL 更改 hive 表中映射列中的一个键值

我有一个Hive表,其架构如下,col是map类型:selectcolfromtablecol{"name":"abc","value":"val_1"}我需要做的是将val_1更改为val_2并从中创建另一个表。createtabletable_2asselectcol--TODO:needtodosomethingherefromtable有什么建议吗?谢谢! 最佳答案 withtas(selectmap("name","abc","value","val_1")ascol)selectmap("name",col["name"

hadoop - hive insert overwrite table with inner sub query of count of columns 作为结果

你好,我在源表“状态表”下面有datestatusname2017-06-22true1.tar2017-06-22true2.tar2017-06-22false3.tar2017-06-22true4.tar2017-06-22false5.tar2017-06-21false6.tar2017-06-21false6.tar2017-06-21false6.tar2017-06-21true6.tar我在目标表列下面有预期的数据TrueFalseTotalDate3252017-06-221342017-06-21我在下面写了查询将数据从源表加载到目标表,但它说表达式不在GROU

hadoop - 无法调试 HQL 脚本

所以我正在尝试创建一个HiveSchema来分析存储在hdfs中的json数据。我指的是thisblog用于创建Hive表,下面是我的Schema.hqlCREATEEXTERNALTABLEbase_tweets4(`id`BIGINT,created_atSTRING,`source`STRING,favoritedBOOLEAN,retweet_countINT,retweeted_statusSTRUCT>,`entities`STRUCT>,user_mentions:ARRAY>,hashtags:ARRAY>>,textSTRING,`user`STRUCT,in_rep

hadoop - 通过命令行运行 HQL 查询时出错

我正在通过命令行运行查询并收到此错误。命令:hive-equery1.hql失败:ParseException行1:0无法识别“query1”附近的输入。'hql'CREATETABLEdcarlo.new_tableASSELECTma.name,ma.address,ma.stateFROMmain_dbASmaWHEREma.dt>=20180301ANDma.dt 最佳答案 使用-f而不是-e从文件运行脚本。hive-fquery1.hqlSource用法:hive-d,--definekey=value应用于Hive的变量

hadoop - Hive:如何处理数据文件中有分隔符的文件?

我有以下数据需要插入到配置单元表中。数据在文件中具有默认分隔符。如何插入到Hive表中?10,Andrew,Man”,”ager,DE,PC11,Arun,Manager,NJ,PC12,Harish,Sales,NJ,MAC13,Robert,Manager,PA,MAC14,Laura,Engineer,PA,MAC谢谢! 最佳答案 尝试使用CSVSerdecreatetabletest_table(idint,...)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.OpenCSVSer

hadoop - Hive:连接两个具有不同键的表

我有如下两个表格。基本上我想加入他们两个并期待如下结果。表2的前3行没有任何事件ID只是空的。所有字段均以制表符分隔。根据表2,类别“33”具有三个描述。我们需要使用“事件ID”来获取“33”类别的结果,因为它有3个值。谁能告诉我如何实现这个输出?表:1Empid类别ActivityID4412633火车4412710个UFL4412812个话题4412933未分配4413015微软4413133个好处4413243个好处表2:类别ActivityIDCategdesc10计费12计费15不可计费33TRAIN培训33未分配的替补席33好处好处43个好处预期输出:4412633训练44

hadoop - 有关如何从 Hive 查询中设置 Hive 属性的示例

我需要一个快速示例来说明如何使用查询更改配置单元中的属性,例如,我想更改属性“mapred.reduce.tasks”,因此,如何在查询中执行此更改。我正在为HDPCD考试训练自己,考试的目标之一是“从Hive查询中设置Hadoop或Hive配置属性”所以我想这与在Hive控制台中执行类似的操作不同:setmapred.reduce.tasks=2; 最佳答案 要更改Hadoop和Hive配置变量,您需要在Hive查询中使用set。所做的更改将仅适用于该查询sessionset-v打印所有Hadoop和Hive配置变量。SETmap

hadoop - hive 。不能在 where 子句中引用分区

我创建了一个按日期分区的表。但是不能在where子句中使用partition。这是过程第一步:CREATETABLEnew_table(astring,bstring)PARTITIONEDBY(dtstring);第二步:Insertoverwritetablenew_tablepartition(dt=$date)Selecta,bfrommy_tablewheredt='$date表已创建。Describenew_table;astringbstringdtstring问题:select*fromnew_tablewheredt='$date'返回空集。鉴于select*from