我需要从zeppelin中的%sql解释器导出csv格式的数据.我怎么能这样做?我需要添加一个按钮并点击它,它应该导出csv中的数据,如客户端的sql解释器中的zeppelin中的图形所示.
我正在尝试使用Zeppelin和Scala读取大型JSON文件(1.5 GB).
Zeppelin正在以10 GB RAM的VM上安装在Ubuntu OS上的本地模式SPARK上工作.我已经为spark.executor.memory分配了8GB
我的代码如下
val inputFileWeather="/home/shashi/incubator-zeppelin-master/data/ai/weather.json"
val temp=sqlContext.read.json(inputFileWeather)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_interpret(RemoteInterpreterService.java:241)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.interpret(RemoteInterpreterService.java:225)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.interpret(RemoteInterpreter.java:229)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:229)
at org.apache.zeppelin.scheduler.Job.run(Job.java:171)
at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:328)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud) 我是spark/zeppelin的新手,我想完成一个简单的练习,在那里我将csv文件从pandas转换为Spark数据框,然后注册表以使用sql查询它并使用Zeppelin将其可视化.
但我似乎在最后一步失败了.
我使用的是Spark 1.6.1
这是我的代码:
%pyspark
spark_clean_df.registerTempTable("table1")
print spark_clean_df.dtypes
print sqlContext.sql("select count(*) from table1").collect()
Run Code Online (Sandbox Code Playgroud)
这是输出:
[('id', 'bigint'), ('name', 'string'), ('host_id', 'bigint'), ('host_name', 'string'), ('neighbourhood', 'string'), ('latitude', 'double'), ('longitude', 'double'), ('room_type', 'string'), ('price', 'bigint'), ('minimum_nights', 'bigint'), ('number_of_reviews', 'bigint'), ('last_review', 'string'), ('reviews_per_month', 'double'), ('calculated_host_listings_count', 'bigint'), ('availability_365', 'bigint')]
[Row(_c0=4961)]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用%sql时,我收到此错误:
%sql
select * from table1
Table not found: table1; line 1 pos 14
set zeppelin.spark.sql.stacktrace = true to see full stacktrace
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激 - 我甚至不知道在哪里可以找到这个堆栈跟踪,它怎么能帮助我.
谢谢 :)
我的操作系统是OS X 10.11.6.我正在运行Spark 2.0,Zeppelin 0.6,Scala 2.11
当我在Zeppelin中运行此代码时,我得到了Jackson的例外.当我在spark-shell中运行此代码时 - 没有例外.
val filestream = ssc.textFileStream("/Users/davidlaxer/first-edition/ch06")
com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.5.3
at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:56)
at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19)
at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:651)
at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
at org.apache.spark.streaming.StreamingContext.withNamedScope(StreamingContext.scala:273)
at org.apache.spark.streaming.StreamingContext.textFileStream(StreamingContext.scala:413)
... 51 elided
Run Code Online (Sandbox Code Playgroud)
spark-core中的dependency-reduced-pom.xml显示了2.6.5版本
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.5</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Maven的版本是:
David-Laxers-MacBook-Pro:2.5.3 davidlaxer$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: /opt/local/share/java/maven3
Java version: 1.8.0_05, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: …Run Code Online (Sandbox Code Playgroud) maven-2 fasterxml apache-spark spark-streaming apache-zeppelin
我们正在使用apache zeppelin来分析我们的数据集.我们有一些疑问,我们想运行有大量来自他们回来,并想运行飞艇查询,但结果保存(显示被限制在1000)的结果.是否有一种简单的方法可以让zeppelin将查询的所有结果保存到s3存储桶中?
按照这里的简约安装说明,然后在macOS High Sierra 10.13.1上执行:
bin/zeppelin-daemon.sh start
Run Code Online (Sandbox Code Playgroud)
守护进程启动正常,但将任何浏览器指向http://localhost:8080产量
HTTP ERROR: 503
Problem accessing /. Reason:
Service Unavailable
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)
如果我以root身份运行,或者以root身份运行浏览器,或者通过homebrew(brew install apache-zeppelin)安装,则会发生同样的事情.
权限问题?
什么是解决方案?
谢谢!
我正在开发一个共享的 Apache Zeppelin 服务器。几乎每天,我尝试运行命令并收到此错误:Job 65 cancelled because SparkContext was shut down
我很想了解有关 SparkContext 关闭原因的更多信息。我的理解是 Zeppelin 是一个 kube 应用程序,它将命令发送到机器进行处理。
当 SparkContext 关闭时,是否意味着我与 Spark 集群的桥接已关闭?而且,如果是这样的话,我怎样才能使火花簇的桥断掉呢?
在此示例中,它发生在我尝试将数据上传到 S3 时。
这是代码
val myfiles = readParquet(
startDate=ew LocalDate(2020, 4, 1),
endDate=ew LocalDate(2020, 4, 7)
)
log_events.createOrReplaceTempView("log_events")
val mySQLDF = spark.sql(s"""
select [6 columns]
from myfiles
join [other table]
on [join_condition]
"""
)
mySQLDF.write.option("maxRecordsPerFile", 1000000).parquet(path)
// mySQLDF has 3M rows and they're all strings or dates
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪错误
org.apache.spark.SparkException: Job aborted.
at org.apache.spark.sql.execution.datasources.FileFormatWriter$.write(FileFormatWriter.scala:198)
at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.run(InsertIntoHadoopFsRelationCommand.scala:159)
at …Run Code Online (Sandbox Code Playgroud) hadoop apache-spark apache-spark-sql pyspark apache-zeppelin
我正在寻找zeppelin文档来启动本地火花它说:
cd $ZEPPELIN_HOME/scripts/docker/spark-cluster-managers/spark_standalone
Run Code Online (Sandbox Code Playgroud)
但是在$ ZEPPELIN_HOME我没有脚本文件夹:
$ ls -l ~/dev/zeppelin-0.7.3-bin-all/
LICENSE README.md conf/ lib/ local-repo/ notebook/ webapps/
NOTICE bin/ interpreter/ licenses/ logs/ run/ zeppelin-web-0.7.3.war
Run Code Online (Sandbox Code Playgroud)
上面提到的脚本目录在哪里?
我正在Zeppelin内部的协作环境中与Spark合作。因此,我们只有一个解释器,并且许多用户正在使用该解释器。出于这个原因,我定义它使用instantiation per user在scoped mode。
通过这种配置,用户作业X等待其他用户的作业分配的资源。
为了更改此行为并允许来自不同用户的作业同时执行,我将Spark配置(在Zeppelin解释器配置上)定义spark.scheduler.mode为FAIR。为了达到预期的效果,用户需要在笔记本上手动定义自己的Spark池(可以同时执行来自不同池的作业:https://spark.apache.org/docs/latest/job-scheduling。 html#scheduling-in-an-application)和以下代码:
sc.setLocalProperty("spark.scheduler.pool", "pool1")
Run Code Online (Sandbox Code Playgroud)
备注:一小时后,翻译器关闭。如果用户忘记了下次执行该命令,那么他们将落入默认池中,这不好。
我想知道的是:是否可以在他每次执行Spark段落时自动设置一个Spark用户池,而无需人工操作?
如果还有其他方法可以做到,请告诉我。
我想将一个字符串传递给spark.sql
这是我的查询
mydf = spark.sql("SELECT * FROM MYTABLE WHERE TIMESTAMP BETWEEN '2020-04-01' AND '2020-04-08')
Run Code Online (Sandbox Code Playgroud)
我想传递一个日期字符串。
我试过这段代码
val = '2020-04-08'
s"spark.sql("SELECT * FROM MYTABLE WHERE TIMESTAMP BETWEEN $val AND '2020-04-08'
Run Code Online (Sandbox Code Playgroud) apache-zeppelin ×10
apache-spark ×6
pyspark ×4
fasterxml ×1
hadoop ×1
hadoop-yarn ×1
jetty ×1
json ×1
maven-2 ×1
scala ×1