草庐IT

hadoop - hiveQL 中的嵌套选择

在我的一个用例中,我有两个表,即flow和conf。流表包含所有航类数据的列表。它有创建日期、数据文件名、飞机ID列。conf表包含配置信息。它有列configdate、aircraftid、configurationame。为一种飞机类型创建了多个版本的配置。因此,当我们处理一个数据文件名时,我们需要从流表中识别aircraftid,并从创建数据文件名之前创建的配置表中获取配置。所以,我试过了,FROM(SELECTF_FILE_CREATION_DATE,F_FILE_ARCHIVED_RELATIVE_PATH,F_FILE_ARCHIVED_NAME,K_AIRCRAFTfro

performance - Hive 联合所有效率和最佳实践

我有一个hive效率问题。我有2个大量查询需要过滤、与映射表连接和联合。两个表的所有连接都是相同的。在将连接应用到组合表之前将它们合并,或者将连接分别应用到每个大规模查询然后合并结果会更有效吗?这有什么不同吗?我尝试了第二种方式,查询运行了24小时后才终止它。我觉得我已尽我所能来优化它,除了可能会重新排列union语句。一方面,我觉得这应该无关紧要,因为映射表连接的数量或行是相同的,而且由于所有内容都是颚化的,因此应该花费大致相同的时间。另一方面,也许通过先做联合,它应该保证在运行连接之前为两个大查询提供完整的系统资源。话又说回来,这可能意味着一次只有2个作业在运行,因此系统没有得到充

hadoop - MSCK REPAIR TABLE 表名耗时较长

我在包含超过28K分区的配置单元表上运行MSCKREPAIRTABLE表名,我们将每10分钟接收一个分区。当我们每10分钟在此表上运行一次MSCKREPAIRTABLE时,它会花费很多时间有人可以建议为什么需要更多时间吗?(即超过5-10分钟)提前致谢。hive版本:1.1.0 最佳答案 这是一个非常糟糕的做法。无论目录是否已经映射到分区,MSCKREPAIR仍然需要获取所有目录的列表以及所有分区的列表并进行比较。相反,您应该在每次添加目录时使用altertable...addpartition...添加一个分区。

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 - Apache HIVE 中的表定义问题

以下是我推送到名为temp_stat的Hive表中的数据集:COUNTRYCITYTEMP-----------------------------------USArizona51.7USCalifornia56.7USBullheadCity51.1IndiaJaisalmer42.4LibyaAziziya57.8IranLutDesert70.7IndiaBanda42.4当我尝试通过select命令查看数据时,我得到以下数据集:US,Arizona,51.7NULLNULLUS,California,56.7NULLNULLUS,BullheadCity,51.1NULLNU

csv - 指向带有嵌入双引号的 CSV 文件的 Hive 外部表

我正在尝试创建一个指向CSV文件的外部Hive表。我的CSV文件有一个列(col2),可以将双引号和逗号作为列值的一部分。每列数据:Col1:150Col2:BATWING,ABC"D"TESTDATACol3:300CSV中的行:150,"BATWING,ABC""D""TESTDATA",300创建表DDL:CREATEEXTERNALTABLEtest(col1INT,col2STRING,col3INT)ROWFORMATDELIMITEDFIELDSTERMINATEDBY','ESCAPEDBY'"'LOCATION's3://test-folder/test-file.c

hadoop - 配置单元错误 : compiling statement: FAILED: ParseException line 15:0 missing EOF at 'collection' near ''\n''

我是hive的新手,我正在创建一个具有以下属性的表,CREATEEXTERNALTABLEEXTTBL_Transactions(TRANSACTION_IDvarchar(70)COMMENT'UniqueID,`PrimaryKey',DEFINITION_IDvarchar(70)COMMENT'Definition,NullAllowed',USER_IDvarchar(70)COMMENT'Contactid,ForeignKey',PURCHASE_DATETIMETimestampCOMMENT'Saveddattime,NullAllowed',PURCHASE_AMO

hadoop - Presto 查询无法将数据插入 Hive

我正在尝试将数据插入配置单元。为此,我使用Presto。这是我的查询:insertintocard_transactions_part_buckpartition(tran_year,tran_month,tran_day)selecttran_id,tran_uid,tran_date,tran_category,tran_category_id,tran_type,tran_type_id,tran_ingress_ip_address,tran_ingress_api_name,tran_ingress_api_id,platform,platform_id,card_type,

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

sql - HIVE SQL 将连续范围折叠成单行

考虑表中的以下记录:NAMEIDRATELOCDAYABCD123-5NYC2017-01-01ABCD123-5NYC2017-01-02ABCD123-6SFO2017-01-03ABCD123-6DEN2017-01-04ABCD345-4ATL2017-01-05ABCD345-4WAS2017-01-06ABCD123-7CLT2017-01-07ABCD123-7CLT2017-01-08我想要这样的输出:NAMEIDRATELOCSTARTDAYENDDAYABCD123-5NYC2017-01-012017-01-02ABCD123-6SFO2017-01-032017