草庐IT

sql-parametrized-query

全部标签

sql - Hive - Concat 字符串与行数据

我正在尝试使用Hive将字符串与表中的数据行连接起来。在SQL中看起来像这样SELECT'Select*from'+[Column]+';'FROMtable_nameORDERBY[table_name]结果应该是-SELECT*FROMabc;从asd中选择*;选择*从xyz..无法在Hive命令中编写或找到与此相关的内容。 最佳答案 使用concat()函数:'SELECTconcat('Select*from',[table_name],';')FROMyour_tableORDERBY[table_name]'如果[tab

sql - 从时间戳格式 "25/Nov/2016:15:48:01 +0000' 中检索月份

我目前正在使用HiveSQL,并且我在表格中有“timestamp”列,格式为"25/Nov/2016:15:48:01+0000"。如何在不使用SUBSTRING()函数的情况下从上述格式中提取“Nov”月份。我试过了,SELECTMONTH(timestamp)FROMtable_name;但它返回为空。从上述时间戳格式中检索“11月”月份的正确方法应该是什么。 最佳答案 请看下面example..unix_timestamp(time,'dd/MMM/yyyy:HH:mm:ss')然后试试你的月份函数或首先将您的时间戳转换为字

hadoop - 使用 Spark Sql 查询 hdfs

我在hdfs中有一个csv文件,我如何用sparkSQL查询这个文件?例如我想对特殊列进行选择请求并将结果再次存储到Hadoop分布式文件系统谢谢 最佳答案 可以通过创建Dataframe来实现。valdataFrame=spark.sparkContext.textFile("examples/src/main/resources/people.csv").map(_.split(",")).map(attributes=>Person(attributes(0),attributes(1).trim.toInt)).toDF()

sql - Hive 复杂类型来处理一对多关系

如何使用Hive复杂类型处理一对多关系?例如,给定两个表:artist:artist_id,first_name,last_namesong:song_id,song_name,song_date,artist_id如何编写hiveql或sql以将歌曲集合包含到独特的艺术家中,即例如112,drew,jackson,{10:[hill,1992],13:[away,2011],....}113,maria,mcmillan,{25:[denial,2000],26:[fly,1990],....} 最佳答案 selecta.arti

hadoop - pyspark.sql.utils.AnalysisException : u'Path does not exist

我正在使用标准的hdfs运行amazonemr的spark作业,而不是S3来存储我的文件。我在hdfs://user/hive/warehouse/中有一个配置单元表,但在运行我的spark作业时找不到它。我配置了spark属性spark.sql.warehouse.dir以反射(reflect)我的hdfs目录的属性,而yarn日志确实显示:17/03/2819:54:05INFOSharedState:Warehousepathis'hdfs://user/hive/warehouse/'.稍后在日志中说(页面末尾的完整日志):LogType:stdoutLogUploadTime

sql - 从分组查询中删除连接操作

我有一个看起来像这样的表:usr_idquery_ts123452019/05/13 02:061234442019/05/15 04:061234442019/05/16 05:06123452019/05/16 02:06123452019/05/15 02:06它包含一个用户ID,以及他们何时运行查询。表中的每个条目代表该ID在给定时间戳运行1个查询。我正在尝试制作这个:usr_idday_1day_2…day_3012345311315123444234114我想显示每个ID在过去30天内每天运行的查询数量,如果当天没有运行查询,它将是0。这是我提出的查询的一部分,SELECT

sql - Hive 相对于同一表中的其他数组列对数组列进行排序

我在hive中有一个表,其中2列为col1array和col2array.输出如下图col1col2[1,2,3,4,5][0.43,0.01,0.45,0.22,0.001]我想按升序对col2进行排序,并且col1也应该相应地更改其索引,例如col1col2[5,2,4,3,1][0.001,0.01,0.22,0.43,0.45] 最佳答案 分解两个数组,排序,然后再次聚合数组。在collect_list之前的子查询中使用sort对数组进行排序:withyour_dataas(selectarray(1,2,3,4,5)asc

Java代码审计之SQL注入

深入了解Java中的SQL注入本文以代码实例复现了Java中JDBC及Mybatis框架采用预编译和非预编译时可能存在SQL注入的几种情况,并给予修复建议。JDBC首先看第一段代码,使用了远古时期的JDBC并且并没有使用预编译。这种简单的字符串拼接就存在SQL注入@RequestMapping("/jdbc/vuln")publicStringjdbc_sqli_vul(@RequestParam("username")Stringusername){StringBuilderresult=newStringBuilder();try{Class.forName(driver);Connect

sql-server - Oozie Sqoop 作业

我正在尝试将sqoop作业作为oozie操作运行。我将MySQL作为jobtracker节点上的元存储。我在某处读到ooziesqoop无法通过导入创建配置单元表。所以我试图将数据转储到hdfs中。现在还是这样吗?我检查了共享库。我正在尝试从MSSQL数据库中获取Sqoop。当我运行不需要来自shell的元存储的sqoop命令时,它可以工作。sqoopimport--connect'jdbc:sqlserver://host;username=sqoopimport;password=password;database=db1'--tablet1--target-dir/user/ro

sql - 生成 map 的 Hive 聚合函数

我有以下配置单元表ID、类、值1,A,0.31,B,0.41,C,0.52,B,0.12,C,0.2我想得到ID,类:值1,[A:0.3,B:0.4,C:0.5]2,[B:0.1,C:0.2]我知道有一个collect_set()UDAF可以生成类列表或值列表,是否可以获取键值对列表?注意:我想我可以使用两个collect_set(),一个用于类列,一个用于值列,但我不确定列表的顺序是否相同。 最佳答案 我使用Brickhouse库中的UnionUDAF来做类似的事情。您从每一对创建一个映射,然后在聚合过程中将它们联合在一起。Add