草庐IT

sql-parametrized-query

全部标签

sql - Hive - 加载具有特殊字符的分隔数据导致关闭位置

假设我想在Hive中创建一个包含4列的简单表并加载一些竖线分隔的数据。CREATEtableTEST_1(COL1string,COL2string,COL3string,COL4string)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'|';原始数据:123|456|DasaniBottled\|Water|789我对Col3值的期望是“DasaniBottled\|Water”,中间有一些特殊字符“\|”,因此导致Hive表列关闭位置从COL3开始,因为我使用“|”作为分隔符创建表。特殊字符\|确实有一个管道|其中的字符。有什么方法可以解决这个问题,让

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

sql - 在 Impala 中使用字符串或数组检查子集

我有一张这样的tablecol-----A,Bcol可以是带逗号的字符串或数组。我在存储方面具有灵active。如何检查col是另一个字符串或数组变量的子集?例如:B,A-->TRUE(顺序无关紧要)A,D,B-->TRUE(中间的其他项)A,D,C-->FALSE(缺少B)我在类型上有灵active。该变量是我无法存储在表中的内容。如果您仅对Impala(无Hive)有任何建议,请告诉我。谢谢 最佳答案 一个不太漂亮的方法,但也许是一个起点......假设一个表有一个唯一标识符列id和一个array专栏col,和一个带有','的字

sql - 在 Hive 的 LOCATION 字段中明确指定之前,不会创建数据库目录

我使用以下查询在我的首选位置(/user/hive/)创建了一个数据库。createdatabasetestlocation"/user/hive/";创建数据库后,我使用命令hadoopdfs-ls/user/在位置/user/hive/中检查了test.db目录hive。它不可用。后来我使用下面的查询创建了一个默认位置的数据库。createdatabasetest2;对于数据库test2,可以在默认仓库目录/user/hive/warehouse/下看到test2.db目录/user/hive/test.db目录是在我在LOCATION文件中明确指定它时创建的,如下所示。creat

sql - 根据日期计算某行最大值与其他行的差值

我有一个表格如下:datetable_namecount_table2018-07-19A502018-07-19B402018-07-18A252018-07-18B302018-07-17A102018-07-17B5我想计算每个日期之间的计数差异。结果表如下:date1date2table_namediff2018-07-172018-07-18A152018-07-182018-07-19A252018-07-172018-07-18B252018-07-182018-07-19B10`谢谢你的帮助 最佳答案 如果存在多个日

sql - 如何将查询答案传递给限制函数 Impala

我正尝试在impala中抽取一张table的20%。我在某处听说内置的impala采样功能有问题。有没有办法将子查询传递给impalalimit函数以对整个表进行n%的采样。我有这样的东西:select*fromtable_aorderbyrand()limit(selectround((count(distinctids))*.2,0)fromtable_a))子查询给了我所有记录的20% 最佳答案 我不确定Impala是否有特定的采样逻辑(某些数据库有)。但是你可以使用窗口函数:selecta.*from(selecta.*,r

sql - 如何获取 SQL case 语句中两个日期中的最新日期?

我有一个SQL表,需要检查两个日期中的最新日期,创建一个新列。可能有也可能没有这两个值,在这种情况下它默认为一个。我有一个这样的生产案例:+----------+----------+-----------+|device|activity|date|+----------+----------+-----------+|device1|stage|3/20/2018||device1|test|3/30/2018||device2|stage|6/1/2018||device2|test|[null]|+----------+----------+-----------+我需要得到这

IDEA Database 中运行sql脚本文件

首先选中想要导入的数据库,右键选中“SQLScripts”点击“RunSQLScripts...” 然后选择要导入的sql脚本文件,运行即可   

apache-spark - spark-sql读取hive表失败

我想通过hivejdbc连接将整个hive表加载到spark内存中。并且已经在我的项目中添加了hive-site.xml、hdfs-site.xml。由于成功获取列名(eg.role_id),spark已经连接到hive。但是spark似乎将列名加载为数据,并抛出异常。这是我的代码:valdf=spark.read.format("jdbc").option("driver",CommonUtils.HIVE_DIRVER).option("url",CommonUtils.HIVE_URL).option("dbtable","datasource_test.t_leave_map_

sql - 选择列中特定 ID 和列表名称价格高于同一列的行?

我有如下内容:ID-LIST_NAME-PRICE1-WASIA-1001-GASIA-1502-WSPAIN-1503-GMIAMI-1252-GSPAIN-1002-GMIAMI-1502-WMIAMI-125我希望输出为:2-WSPAIN-1502-GSPAIN-100因为W版比G版贵。如果它基本上可以在同一行显示两者,那就更好了:2-WSPAIN-150-GSPAIN-100不同的LIST_NAME可以有很多次ID,一个ID不必包含每个LIST_NAME(例如3没有WMIAMI) 最佳答案 这是一种使用自join和stuff