我正在尝试通过SparkSQL选择周日录制的所有记录。我做了以下几次尝试,但都是徒劳的。
SELECT * FROM mytable WHERE DATEPART(WEEKDAY, create_time) = 0
SELECT * FROM mytable WHERE strftime("%w", create_time) = 0
如何在SparkSQL中获取星期几?
我需要使用sparksql.I在我的hive表中插入一些值。我使用以下代码。 val filepath:String = "/user/usename/filename.csv'"
val fileName : String = filepath
val result = fileName.split("/")
val fn=result(3) //filename
val e=LocalDateTime.now() //timestamp 首先,我尝试使用Insert Into Values,但后来我发现此
我想知道我是否可以像这样在sparksql中使用update查询:
sqlContext.sql("update users set name = '*' where name is null")
我得到了错误:
org.apache.spark.sql.AnalysisException:
Unsupported language features in query:update users set name = '*' where name is null
如果sparksql不支持update查询,或者我写的代码不正确?
需要关于阿帕奇方解石的建议。我们有一些SQL查询运行在Teradata上。现在,我们希望在Hadoop/Spark上运行这些sql查询(按原样),也许使用Apache方解石。
我们在Spark (2.6.3)中和Apache方解石中尝试了这些SQL查询,但很少有查询不运行。问题是,如果我们定义一个派生变量(AS),并试图在相同级别的同一查询中使用它,那么它在SparkSQL和方解石中不起作用,而是在Teradata中工作。示例查询:
select EMPNO, sum(deptno) as sum_dept,
case when sum_dept > 10 then 1 else
我正在尝试使用SparkSQL对数据帧执行广播散列联接,如下所示:
在该示例中,(小) DataFrame通过saveAsTable持久化,然后通过spark SQL (即通过sqlContext.sql("...")) )进行连接
我遇到的问题是,我需要使用SQL来构造我的sparkSQL (我需要用一个ID列表连接大约50个表,并且不想手动编写这个SQL语句)。
How do I tell spark to use the broadcast hash join via the API? The issue is that if I load the ID list (f
设想情况:
假设Hive中有一个表,它是使用ApacheSpark中的SparkSql查询的,其中表名作为参数传递并连接到查询中。
对于非分布式系统,我对SQL注入漏洞有基本的理解,在JDBC的上下文中,我了解createStatement/preparedStatement在这类场景中的使用。
但是,这个场景在sparksql的情况下会怎样呢,这段代码易受攻击吗?有什么见解吗?
def main(args: Array[String]) {
val sconf = new SparkConf().setAppName("TestApp")
val spark
我对Spark很陌生。我在某个地方读过关于在REPARTITION()查询中使用SparkSQL之前使用SparkSQL以获得更好的性能的文章。
但是,我使用的是朴素PySparkSQL查询(而不是 PySparkSQL),并且我很难在这样的简单查询中找到REPARTITION的等效用法语法,如下所示。
/* how to use repartition() here ? */
select t1.id, t2.name
from table1 t1
inner join table2 t2
on t1.id = t2.id;
请大家分享一下在上面的示例查询中使用的用法和语法吗?此外,我还想了