我在HDFS上有一个目录目录,我想迭代这些目录.使用SparkContext对象有没有简单的方法来使用Spark?
我试图遵循这里描述的Spark独立应用程序示例 https://spark.apache.org/docs/latest/quick-start.html#standalone-applications
该示例在以下调用中运行良好:
spark-submit --class "SimpleApp" --master local[4] target/scala-2.10/simple-project_2.10-1.0.jar
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过引入一些第三方库时--jars,它会抛出ClassNotFoundException.
$ spark-submit --jars /home/linpengt/workspace/scala-learn/spark-analysis/target/pack/lib/* \
--class "SimpleApp" --master local[4] target/scala-2.10/simple-project_2.10-1.0.jar
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Exception in thread "main" java.lang.ClassNotFoundException: SimpleApp
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:300)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Run Code Online (Sandbox Code Playgroud)
删除--jars选项和程序再次运行(我实际上还没有开始使用这些库).这有什么问题?我该如何添加外部罐子?
我正在尝试使用 Python 编写一个 Spark 作业,该作业将打开与 Impala 的 jdbc 连接,并将 VIEW 直接从 Impala 加载到 Dataframe 中。这个问题非常接近,但在 Scala 中:Calling JDBC to impala/hive from inside a spark job and created a table
我该怎么做呢?对于其他数据源,例如 MySQL、PostgreSQL 等,有很多示例,但我还没有看到 Impala + Python + Kerberos 的示例。一个例子会有很大帮助。谢谢!
用网络上的信息试过这个,但没有用。
#!/bin/bash
export PYSPARK_PYTHON=/home/anave/anaconda2/bin/python
export HADOOP_CONF_DIR=/etc/hive/conf
export PYSPARK_DRIVER_PYTHON=/home/anave/anaconda2/bin/ipython
export PYSPARK_DRIVER_PYTHON_OPTS='notebook --ip=* --no-browser'
# use Java8
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
# JDBC Drivers for Impala
export CLASSPATH=/home/anave/impala_jdbc_2.5.30.1049/Cloudera_ImpalaJDBC41_2.5.30/*.jar:$CLASSPATH
export JDBC_PATH=/home/anave/impala_jdbc_2.5.30.1049/Cloudera_ImpalaJDBC41_2.5.30
# --jars $SRCDIR/spark-csv-assembly-1.4.0-SNAPSHOT.jar \
# --conf spark.sql.parquet.binaryAsString=true \
# --conf spark.sql.hive.convertMetastoreParquet=false
pyspark …Run Code Online (Sandbox Code Playgroud) 我知道可以使用 --files 选项通过 Spark-Submit 发送文件,但是是否也可以发送整个文件夹?
实际上我想发送lib文件夹,其中包含外部库的jar文件。或者 --jars 选项是否已经在执行器目录上创建了一个 lib 文件夹?就我而言,有必要有一个 lib 文件夹,否则会出错。