我想优化在PRESTO/HIVE上运行的查询的计算时间。我在Redshift上使用的技术之一是提高临时表的效率,如下所示:
BEGIN;
CREATE TEMPORARY TABLE my_temp_table(
column_a varchar(128) encode lzo,
column_b char(4) encode bytedict)
distkey (column_a) -- Assuming you intend to join this table on column_a
sortkey (column_b) -- Assuming you are sorting or gr
我们需要转换和执行星火SQL.The查询中的蜂箱查询,涉及到两个tables.We之间的连接,将创建一个数据帧,然后在it.Please查找示例蜂箱查询和转换查询的基础上触发it.Please查询。
-蜂巢查询
select a.col1,a.col2,a.col3,b.col4,b.col5,b.col6.b.col7
from table1 a left outer join table2 b
on a.col3=b.col3
-火花SQL
import org.apache.spark.sql.hive.HiveContext
val hiveContext = new org.apac
15/03/24 23:06:45 INFO ParseDriver: Parse Completed
Exception in thread "main" java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "1s"
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:346)
at org.apache.spark.sql.hi
在S3存储桶中写入数据时出现奇怪的错误。我不会经常收到这个错误。所以,不能弄清楚问题到底是什么。仅供参考,我每次都会保持EMR的配置不变。此外,s3存储桶中的文件夹是NOT写保护的。
insert overwrite directory 's3://logs/apr'
select f.cookie,sum(f.pgvw) as pageview, count(distinct(f.cookie)) as visits from
(
SELECT a.cookie,a.session,count(distinct(a.date_time)) as pgvw from
(
如果我在pyspark中注册了一个hive表,然后针对该表编写sql,那么sql每次都会访问底层的hive数据库,还是它是针对星火集群中加载的数据运行的呢?这是我在一本笔记本上写的
hive_context = HiveContext(sc) #Initialize Hive
tbl_df = hive_context.table("hive_schema.hive_tbl_name")
tbl_df.registerTempTable("hive_tbl_name");
#Do the below queries run against Hive or ag
我正试图在火花壳中执行这段代码:
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext.sql("show tables")
执行第二行之后,我将得到一个异常:
org.apache.hadoop.hive.ql.Driver.getResults(Ljava/util/ArrayList;:java.lang.NoSuchMethodError在org.apache.spark.sql.hive.HiveContext.runHive(HiveContext.scala:305),
我使用以下hivesite.xml属性配置了Hive并行性并重新启动了集群
属性1
Name: hive.exec.parallel
Value: true
Description: Run hive jobs in parallel
性质2
Name: hive.exec.parallel.thread.number
Value: 8 (default)
Description: Maximum number of hive jobs to run in parallel
为了测试并行性,我创建了以下两个条件:
1。file.hql中的单个查询,并以hive -f file.hql的形式运行
我已经安装了星火窗口machine(standalone),并试图连接HDP 2.6蜂巢转移,这是可用的VM使用火花应用程序。
我使用NAT作为HDP 2.6 VM的网络适配器。当我试图将蜂窝转移(HDP 2.6VM)与Spark应用程序 (Local on Windows )连接时,我得到了下面的错误消息。
17/08/12 17:00:16 INFO metastore: Waiting 1 seconds before next connection attempt.
17/08/12 17:00:17 INFO metastore: Trying to connect to metas
目前在终端运行星火外壳(2.3.0),使用ScalaVersion2.11.8和Java (1.8.0_171)。
运行程序,如
scala> val number = 5
number: Int = 5
但是,当我尝试从文本文件中读取时,我遇到了这个问题。
scala> val textFile = spark.read.textFile("C:/Spark/spark-2.3.0-bin-hadoop2.7/README.md")
org.apache.spark.sql.AnalysisException: java.lang.RuntimeException
我刚刚用Hive 2.3.2和Spark 2.3设置了一个新的hadoop 3.0集群。当我想在Hive表上运行一些查询时,得到以下错误。
我知道Hive中有一些but,但似乎它已经在2.1.1中修复了,但不确定2.3.2版本的情况如何。你知道这件事能不能以某种方式解决?
谢谢
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_151)
Type in expressions to have them evaluated.
Type :help for more information.
scala> im
我在EMR上使用Spark2.4.0,并试图使用AWS数据目录在s3中存储简单的数据。守则如下:
val peopleTable = spark.sql("select * from emrdb.testtableemr")
val filtered = peopleTable.filter("name = 'Andrzej'")
filtered.repartition(1).write.format("hive").mode("append").saveAsTable("emrdb.testtablee
嗨,我有hive外部表,它使用aws glue作为数据目录。glue目录可以通过emr访问。我已经通过hive控制台检查过了。但是,当我尝试使用.enableHiveSupport()通过spark通过scala程序访问配置单元表时,我遇到了错误 INFO metastore: Trying to connect to metastore with URI thrift://ip-172-31-39-192.ap-south-1.compute.internal:9083
WARN Hive: Failed to access metastore. This class should not
我正试图用Hive0.14(最新的HortonWorks发行版)在HDP 2.2.0上启动SparkTh开裂服务器(Spark1.2),但不幸的是,我得到了一个对我来说非常神秘的错误:
Exception in thread "main" java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "5s"
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.jav
INSERT INTO hive_table SELECT b.id,a.id FROM hive_table_1 a,hive_table_2 b WHERE a.id BETWEEN b.id1 AND b.id2;
在spark上执行这样的SQL -sql got错误:
错误CliDriver: org.apache.spark.sql.AnalysisException:缺少“hive_table”附近的表;第1行pos 12
在org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:289)
在org.apache.spa
运行spark-shell时出现以下错误
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
18/01/30 18:22:27 WARN NativeCodeLoader: Unable to load n