我有一个 spark ec2 集群,我正在从 Zeppelin 笔记本提交 pyspark 程序。我已经加载了 hadoop-aws-2.7.3.jar 和 aws-java-sdk-1.11.179.jar 并将它们放在 spark 实例的 /opt/spark/jars 目录中。我得到一个 java.lang.NoClassDefFoundError: com/amazonaws/AmazonServiceException
为什么火花没有看到罐子?我是否必须在所有从站中进行 jars 并为主站和从站指定 spark-defaults.conf ?是否需要在 zeppelin 中配置一些东西来识别新的 jar 文件?
我已将 jar 文件 /opt/spark/jars 放在 spark master 上。我创建了一个 spark-defaults.conf 并添加了这些行
spark.hadoop.fs.s3a.access.key [ACCESS KEY]
spark.hadoop.fs.s3a.secret.key [SECRET KEY]
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.driver.extraClassPath /opt/spark/jars/hadoop-aws-2.7.3.jar:/opt/spark/jars/aws-java-sdk-1.11.179.jar
Run Code Online (Sandbox Code Playgroud)
我让齐柏林飞艇解释器向火花大师发送火花提交。
我也将罐子放在奴隶的 /opt/spark/jars 中,但没有创建 spark-deafults.conf。
%spark.pyspark
#importing necessary libaries
from pyspark import SparkContext
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
from pyspark.sql.types import StringType
from pyspark import SQLContext
from itertools import islice …Run Code Online (Sandbox Code Playgroud) 我有一个关于硬规则(rawVault)和软规则(业务规则)的问题。
\n\n我的例子是一个源系统有一个名为 Pets 的非规范化表,其中 Pets 包含猫、狗和鸟,它们通过类型代码进行区分(1 \xe2\x80\x93 cat,2 \xe2\x80\x93 dogs, 3 \xe2\x80\x93 鸟)。
\n\n我的问题是关于将数据加载到 Rawvault 与 Business Vault 时的硬规则与软规则。加载Pets表时,您可以在rawvault中创建h_cat、h_dog和h_bird集线器,并根据类型代码1过滤源表pets到h_cat,类型代码2到h_dog,类型代码3到h_bird吗?这是硬规则还是软规则?
\n\n或者
\n\n当基于类型代码过滤数据时,我们是否应该在 rawvault 中创建 h_pet 中心,使数据尽可能接近源,在 Businessvault 中创建 h_cat、h_dog 和 h_bird,因为这将被归类为软规则?
\n