我正在尝试连接一个字符串(表1中的列)是否出现在Hive QL中的字符串列表(表2中的列)中。有人能帮我学一下语法吗?
SELECT
A.id
FROM tab1 A
inner join tab2 B
ON (
(array_contains(B.purchase_items, A.item_id) = true )
)
上述SQL不起作用。
我正在做谷歌表格中的电子表格,我试图有一个列的名字,然后一列的日期毗邻它。
我想设置某种条件格式,以检查单元格的日期是否已经过去,如果已经过了,则在name列中使用删除设置相应的单元格格式。
Names | Dates | Etc.
Name Here | Date | ---
Name 2 | Date2 | ---
因此,如果“日期”下列出的第二个日期已经通过(与今天的日期1/19/16相比,又名1/10/16,而不是2/19/16 ),那么在“名称”下列出的第二个名称就会出现带有删除格式的格式(就像您将其划掉一样)。
我们使用Spark的SQL 对集群上的Hive表执行查询。如何对查询中的列执行REPARTITION ( SQL-API )?请注意,我们不使用Dataframe,而是使用SQL (例如,SELECT * from table WHERE col = 1)。
我理解PySpark在Dataframe API中提供了一个相同的函数。
但是,我想知道通过REPARTITION SQL -API(通过SELECT语句)在SQL查询中指定(在特定列上)的语法。
考虑以下查询:
select a.x, b.y
from a
JOIN b
on a.id = b.id
任何帮助都是非常感谢的。
我们使用星
我正在开发的系统使用Server将查询结果存储在表中。行组表示特定日期(DataDate)的数据快照,随着新数据的替换,该数据将最终过期。该表保留旧数据,而不是覆盖它。下面是一个简单的例子:
CREATE TABLE query1234Results (
-- Metadata columns:
AccountId int NOT NULL,
DataDate date NOT NULL,
Appeared datetime NOT NULL,
Disappeared datetime NULL,
Upd
我用Hadoop存储了一些Oracle表,使用AVRO文件格式和Hive外部表来访问数据。
我在导入时使用来自Oracle的TO_CHAR函数将日期和时间戳值存储为格式化字符串。
现在,我想将这些精确的数据导出回一个带有日期列的Oracle表中。我使用以下命令:
// Create a data frame from the Hive table
val data = sqlContext.sql("select * from avro_table")
// export df to existing oracle table
data.write.mode("ove
在尝试将数据集中的数据加载到Hive表时,获取错误:
org.apache.spark.sql.catalyst.analysis.UnresolvedException:对未解析对象树dataType的无效调用:'ipl_appl_signed_date
我的dataset包含与Hive表相同的列,其获取错误的列在我的代码(Java)中以及在Hive中都有日期数据类型。
java代码:
Date IPL_APPL_SIGNED_DATE =rs.getDate("DTL.IPL_APPL_SIGNED_DATE"); //using jdbc to get
我在蜂巢里创建了拼花桌test_table。其中一个分区的位置是'/user/hive/warehouse/prod.db/test_table/date_id=20210701'。
根据此表创建视图:
create view prod.test_table_vw as
select date_id, src, telephone_number, action_date, duration from prod.test_table
然后将select特权授予某些角色:
GRANT SELECT ON TABLE prod.test_table_vw TO ROLE data_a
环境: Spark 1.6,Scala
我正试图从dataframe中获取一个日期时间字段,以便在SparkSQL中进行比较。
val las_max_date_from_hive= hivecontext.sql("select min(SampleTime) max_SampleTime from mytable")
DF2 = hivecontext.sql ("select * from table2 where sampleDate >" + las_max_date_from_hive) // error here as las_max_d
我正在向hive脚本传递数据参数,但它不起作用。
SET yrmonth=concat(substr(to_date(${hiveconf:runningdate}),1,4),substr(to_date(${hiveconf:runningdate}),6,2));
SET fom=TRUNC(${hiveconf:runningdate},'MONTH');
SET lom=LAST_DAY(${hiveconf:runningdate});
USE cust_db;
SELECT saleid,podid,pname
FROM product
WH
我创建了一个具有时间戳列(数据类型为timestamp)的hive表,格式如下:
2017-01-23 21:23:17.261456
然而,当我这样选择的时候。它不能正常工作。它将选择时间戳之后的日期。列应该是一个字符串还是我使用的查询是错误的?
select * from example where time_created < '2017-01-01 22:30:57.375117'
我会尽量解释清楚我的问题。我想按日期筛选一个表(只选择包含在当前月份中的日期的记录),在Oracle中,我使用以下查询来实现这个目标:
select * from table t1
where t1.DATE_COLUMN between TRUNC(SYSDATE, 'mm') and SYSDATE
如何在Hive SQL中复制相同的过滤器?用于应用过滤器的列是时间戳类型列(例如,2017-05-15 00:00:00)。
我用的是CDH 5.76-1。
有什么建议吗?
SQL Server可以优化以下内容:
DECLARE @id INT;
DECLARE @d1 DATE;
SELECT a, b
FROM t
WHERE id_column = @id
AND date_column >= CAST(CURRENT_TIMESTAMP AS DATE)
AND date_column >= @d1
注意,同一列上有两个>运算符。假设今天是2020-12-23和d1,可能是2020-12-20或2020-12-27,我希望Server自动使用这两个日期中更大的日期……第一种情况是2020-12-23,后一种情况是2020-12-27。但我
当我在Spark中运行Hive查询时,LHS (timestamp) <= RHS (date)对于相同值的'2013-09-30' 并不是相等的。而RHS中的CAST of TIMESTAMP效果很好。
> SELECT CASE
WHEN CAST(ADD_MONTHS(CAST('2013-09-30' AS DATE), +1) AS TIMESTAMP) <= ADD_MONTHS(CAST('2013-09-30' AS DATE), +1)
THEN 'les
我使用的是hive 1.2.1,在尝试使用子查询连接时遇到了一些问题。 我的主表是应用程序,我正在尝试根据帐户和日期将其加入到表信用中。当我尝试只获取一行时,日期条件给我带来了麻烦(信用必须在应用程序之后,并且它只能是一个,以避免连接中的受骗)。我使用了以下代码: SELECT COUNT(1)
FROM applications apps
LEFT JOIN credits c
ON c.python_id =
(
SELECT p