我正在运行以下代码pyspark:
In [14]: conf = SparkConf()
In [15]: conf.getAll()
[(u'spark.eventLog.enabled', u'true'),
(u'spark.eventLog.dir',
u'hdfs://ip-10-0-0-220.ec2.internal:8020/user/spark/applicationHistory'),
(u'spark.master', u'local[*]'),
(u'spark.yarn.historyServer.address',
u'http://ip-10-0-0-220.ec2.internal:18088'),
(u'spark.executor.extraLibraryPath',
u'/opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/hadoop/lib/native'),
(u'spark.app.name', u'pyspark-shell'),
(u'spark.driver.extraLibraryPath',
u'/opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/hadoop/lib/native')]
In [16]: sc
<pyspark.context.SparkContext at 0x7fab9dd8a750>
In [17]: sc.version
u'1.4.0'
In [19]: sqlContext
<pyspark.sql.context.HiveContext at 0x7fab9de785d0>
In [20]: access = sqlContext.read.json("hdfs://10.0.0.220/raw/logs/arquimedes/access/*.json")
Run Code Online (Sandbox Code Playgroud)
一切顺利(我可以在Hive Metastore中创建表格等)
但是当我尝试运行此代码时spark-submit:
# -*- coding: utf-8 -*-
from __future__ import print_function
import re
from pyspark import SparkContext
from pyspark.sql import HiveContext
from pyspark.sql import Row
from pyspark.conf import SparkConf
if __name__ …Run Code Online (Sandbox Code Playgroud) NLTK这种集成中的文档相当差.我遵循的步骤是:
下载http://nlp.stanford.edu/software/stanford-postagger-full-2015-04-20.zip到/home/me/stanford
下载http://nlp.stanford.edu/software/stanford-spanish-corenlp-2015-01-08-models.jar到/home/me/stanford
然后在ipython控制台中:
在[11]中:导入nltk
In [12]: nltk.__version__
Out[12]: '3.1'
In [13]: from nltk.tag import StanfordNERTagger
Run Code Online (Sandbox Code Playgroud)
然后
st = StanfordNERTagger('/home/me/stanford/stanford-postagger-full-2015-04-20.zip', '/home/me/stanford/stanford-spanish-corenlp-2015-01-08-models.jar')
Run Code Online (Sandbox Code Playgroud)
但是当我试图运行它时:
st.tag('Adolfo se la pasa corriendo'.split())
Error: no se ha encontrado o cargado la clase principal edu.stanford.nlp.ie.crf.CRFClassifier
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-14-0c1a96b480a6> in <module>()
----> 1 st.tag('Adolfo se la pasa corriendo'.split())
/home/nanounanue/.pyenv/versions/3.4.3/lib/python3.4/site-packages/nltk/tag/stanford.py in tag(self, tokens)
64 def tag(self, tokens):
65 # This function should return …Run Code Online (Sandbox Code Playgroud) 如何从 type 列中提取天数daterange?是否可以?
我试过
select age(daterange('2018-01-01', '2018-02-01'));
Run Code Online (Sandbox Code Playgroud)
但失败了,我也尝试过投射,但int没有成功。我查看了文档,但找不到任何可以在范围类型中完成此操作的函数。
我有以下问题(代码如下):我有两个S4类,让我们用A和指定它们B.本B类有一个类型的对象,一个名为列表a.list.本A类有一个名为方法test().然后,我创建类型的对象A,叫a,和类型的对象B,b,然后我插入a在列表中的对象b@a.list.
当我提取a对象并在其中使用该test方法时,会发生以下错误:
Error en function (classes, fdef, mtable) :
unable to find an inherited method for function "test", for signature "list"
Run Code Online (Sandbox Code Playgroud)
但我直接在a对象中使用该方法,一切正常.
知道我做错了什么吗?
提前致谢
现在,代码:
> setClass("A", representation(a="character", b="numeric"))
> a <- new("A", a="Adolfo", b = 10)
> a
An object of class "A"
Slot "a":
[1] "Adolfo"
Slot "b": …Run Code Online (Sandbox Code Playgroud) 如何保存输出?我正在使用以下代码:
%time lda1 = models.LdaModel(corpus1, num_topics=20, id2word=dictionary1, update_every=5, chunksize=10000, passes=100)
Run Code Online (Sandbox Code Playgroud) 我想执行几次(假设 30 次)涉及随机数的“实验”
我的方法是:
select
rnd
from
generate_series(0,30) as l, -- number of times
lateral (
select random() as rnd -- the "experiment"
) as t ;
Run Code Online (Sandbox Code Playgroud)
您可以将其理解为“执行 30 次实验”。
问题是该代码生成了 30 个精确的数字。
请注意:“实验”部分显然更复杂,但在其中的某个地方,它会在每次实验运行时创建数百个随机数。即我想生成数百个随机数,共 30 次。这很重要,因为我知道我可以执行
select random() from generate_series(0,30)
Run Code Online (Sandbox Code Playgroud)
并获得 30 个不同的随机数,但这不是我打算做的。
我只是阅读了文档,并且在特定的页面上,但我无法找到一个可以使用此示例的示例(例如,此功能在分析中的用例),请您帮我解决这个麻烦事吗?
我知道 AWS S3 API 对上传大于 5 GB 的文件有限制。在boto3我应该使用multipart
我正在尝试配置S3File对象s3fs以执行相同的操作,但我无法弄清楚。
我正在使用(作为错误示例)一个非常基本的代码:
import s3fs
s3 = s3fs.S3FileSystem()
with s3.open("s3://bucket/huge_file.csv", "w") as s3_obj:
with open("huge_file.csv") as local_file
s3_obj.write(local_file.read())
Run Code Online (Sandbox Code Playgroud)
哪里huge_file.csv有尺寸 > 5Gb。
我得到的错误是
...
botocore.exceptions.ClientError: An error occurred (EntityTooLarge) when calling the PutObject operation: Your proposed upload exceeds the maximum allowed size
...
File ... /s3fs/core.py" line 1487, in __exit__
self.close()
File ... /s3fs/core.py" line 1454, in close
Run Code Online (Sandbox Code Playgroud)
所以,问题是如何(如果可能)我可以设置s3fs上传大于5Gb(How shoud …
安装和配置我Hadoop 2.2.0的伪分布式模式后,一切都在运行,如下所示jps:
$ jps
2287 JobHistoryServer
1926 ResourceManager
2162 NodeManager
1834 DataNode
1756 NameNode
3013 Jps
Run Code Online (Sandbox Code Playgroud)
然后我运行了wordcount示例
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /user/hdfs/file /output
Run Code Online (Sandbox Code Playgroud)
执行frezees(?)如下:
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /user/hdfs/file /output
OpenJDK 64-Bit Server VM warning: You have loaded library /home/hduser/hadoop-src/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
14/04/22 …Run Code Online (Sandbox Code Playgroud) 我想在运行时指定AWS_SECRET_ACCESS_KEY和AWS_ACCESS_KEY_ID。
我已经尝试使用
hadoop -Dfs.s3a.access.key=${AWS_ACESS_KEY_ID} -Dfs.s3a.secret.key=${AWS_SECRET_ACCESS_KEY} fs -ls s3a://my_bucket/
Run Code Online (Sandbox Code Playgroud)
和
export HADOOP_CLIENT_OPTS="-Dfs.s3a.access.key=${AWS_ACCESS_KEY_ID} -Dfs.s3a.secret.key=${AWS_SECRET_ACCESS_KEY}"
Run Code Online (Sandbox Code Playgroud)
和
export HADOOP_OPTS="-Dfs.s3a.access.key=${AWS_ACCESS_KEY_ID} -Dfs.s3a.secret.key=${AWS_SECRET_ACCESS_KEY}"
Run Code Online (Sandbox Code Playgroud)
在最后两个示例中,我尝试使用:
hadoop fs -ls s3a://my-bucket/
Run Code Online (Sandbox Code Playgroud)
在所有情况下,我得到:
-ls: Fatal internal error
com.amazonaws.AmazonClientException: Unable to load AWS credentials from any provider in the chain
at com.amazonaws.auth.AWSCredentialsProviderChain.getCredentials(AWSCredentialsProviderChain.java:117)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3521)
at com.amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1031)
at com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:994)
at org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:297)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
at org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:325)
at org.apache.hadoop.fs.shell.Command.expandArgument(Command.java:235)
at org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:218)
at org.apache.hadoop.fs.shell.Command.processRawArguments(Command.java:201)
at org.apache.hadoop.fs.shell.Command.run(Command.java:165)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:287)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) …Run Code Online (Sandbox Code Playgroud) 我们正在创建一个简单的Dockerfile,该文件的最后一行是
ENTRYPOINT ["sh", "-c", "spark-submit --master $SPARK_MASTER script.py"]
Run Code Online (Sandbox Code Playgroud)
这script.py是一个简单的pyspark应用程序(对于此讨论并不重要),这个pyspark应用程序接收一些我们尝试使用docker命令传递的参数,如下所示
docker run --rm my_spark_app_image --param1 something --param2 something_else
Run Code Online (Sandbox Code Playgroud)
但是script.py没有得到任何参数,即容器执行:
spark-submit --master $SPARK_MASTER script.py
Run Code Online (Sandbox Code Playgroud)
预期的行为是容器执行:
spark-submit --master $SPARK_MASTER script.py --param1 something --param2 something_else
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一个具有以下结构的 pandas 数据框:
ID date event_1 event_2
1 2016-01-03 False False
2016-02-07 True False
2016-02-18 False True
2 2016-01-01 False True
2016-01-04 False False
2016-02-02 True False
2016-02-04 False False
2016-02-05 False True
Run Code Online (Sandbox Code Playgroud)
ID并且date是一个MultiIndex.
问题是,我想创建两个新列time_1和time_2。这些列应显示自相应事件以来经过的时间,例如
ID date event_1 event_2 time_1 time_2
1 2016-01-03 False False - -
2016-02-07 True False 0 -
2016-02-18 False True 11 0
2 2016-01-01 False True - 0
2016-01-04 False False - 3
2016-02-02 True False …Run Code Online (Sandbox Code Playgroud) 我有一个创建情节然后显示它的脚本:
(以下脚本是文档中的一个示例)
# coding: utf-8
# file: test_plot.py
import yaml
import matplotlib.pyplot as plt
import numpy as np
def plot():
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.xlabel('time (s)')
plt.ylabel('voltage (mV)')
plt.title('About as simple as it gets, folks')
plt.grid(True)
plt.show()
if __name__ == '__main__':
plot()
Run Code Online (Sandbox Code Playgroud)
如果从命令行 ( python test_plot.py)执行此脚本,它会正确显示绘图。
问题是:是否可以在不修改代码的情况下将绘图保存到文件中?
python ×4
postgresql ×3
hadoop ×2
python-3.x ×2
apache-spark ×1
boto3 ×1
cloudera-cdh ×1
docker ×1
dockerfile ×1
gensim ×1
hadoop2 ×1
hive ×1
lateral-join ×1
mapreduce ×1
matplotlib ×1
nlp ×1
nltk ×1
object ×1
pandas ×1
python-2.7 ×1
r ×1
random ×1
s4 ×1
sql ×1
sqoop ×1
stanford-nlp ×1