我有一个由spark-ec2脚本设置的aws ec2集群.
我想配置Zeppelin,以便我可以在Zeppelin上本地编写scala代码并在集群上运行(通过master).此外,我希望能够访问我的s3桶.
我按照本指南和另一个,但我似乎无法从zeppelin运行scala代码到我的集群.
我在本地安装了Zeppelin
mvn install -DskipTests -Dspark.version=1.4.1 -Dhadoop.version=2.7.1
Run Code Online (Sandbox Code Playgroud)
我的安全组设置为AmazonEC2FullAccess和AmazonS3FullAccess.
我在Zeppelin Webapp上编辑了spark解释器属性,火花://.us-west-2.compute.amazonaws.com:7077 来自本地[*]
我测试的时候
sc
Run Code Online (Sandbox Code Playgroud)
在翻译中,我收到了这个错误
java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) at
Run Code Online (Sandbox Code Playgroud)当我尝试编辑"conf/zeppelin-site.xml"将我的端口更改为8082时,没有区别.
注意:我最终还想要访问我的s3存储桶,例如:
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "xxx")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey","xxx")
val file = "s3n://<<bucket>>/<<file>>"
val data = sc.textFile(file)
data.first
Run Code Online (Sandbox Code Playgroud)
如果有任何仁慈的用户有任何建议(尚未在StackOverflow上发布),请告诉我!
我正在使用 pyspark 1.5 从 Hive 表中获取数据并尝试使用窗口函数。
根据该存在所谓的解析函数firstValue,这将使我定的窗口的第一个非空值。我知道这存在于 Hive 中,但我无法在 pyspark 的任何地方找到它。
鉴于 pyspark 不允许 UserDefinedAggregateFunctions (UDAF),有没有办法实现这一点?