我想要获取例如当前时间的字符串:“ 20180122_101043”。我怎样才能做到这一点?
我可以创建一个,val cal = Calendar.getInstance()
但不确定如何处理。
这是我课程的作业,我很难理解背后的原因.
我们有一个没有指针和类Car的类Person,如下所示:
class Car{
public:
//stuff
private:
Person* owner;
};
Run Code Online (Sandbox Code Playgroud)
然后是一个如下功能:
void f() {
vector<Car> v;
// do stuff with the vector
}
Run Code Online (Sandbox Code Playgroud)
当函数完成时,存在内存泄漏,为了修复它,课程资料建议通过向量中的每个Car并删除函数f()末尾的所有者指针.简单地为Car写一个析构函数是不够的,它会删除它的所有者以防止内存泄漏?
只需在Car类中添加:
~Car() {
delete owner;
}
Run Code Online (Sandbox Code Playgroud) 我有两个路径,一个用于文件,一个用于文件夹。我想将文件移到HDFS上的该文件夹中。我该如何在Scala中做到这一点?我也在用Spark
奖金,如果相同的代码将适用于Windows的路径工作太,就像读/ HDFS上写文件,但不是必需的。
我尝试了以下方法:
val fs = FileSystem.get(sc.hadoopConfiguration)
fs.moveFromLocalFile(something, something2)
Run Code Online (Sandbox Code Playgroud)
我得到以下错误:
线程“主”中的异常java.lang.IllegalArgumentException:错误的FS:hdfs:/user/o/datasets/data.txt,预期的是:file:///
同去的moveToLocalFile()
,因为他们是为了传输文件的文件系统之间,没有一个文件系统中。我也尝试过,fs.rename()
但这根本没有做任何事情(没有错误或任何错误)。
我基本上都在一个目录下创建文件(流写入到它们),一旦他们这样做,他们需要移动到不同的目录。这种不同的目录由星火流媒体监控和我有一些问题,当星火流尝试工作,没有完成的文件
我知道你可以轻松制作一个固定长度的矩阵:
double m[][2];
Run Code Online (Sandbox Code Playgroud)
但是,我希望有一个数据结构是一个数组,其中我存储了具有不同长度的double类型的数组.我怎么做?
一个例子是:
arr1 = {1,2,3,4};
arr2 = {1,2};
Run Code Online (Sandbox Code Playgroud) 我有以下 Spark 流示例:
val conf = new SparkConf().setAppName("Name").setMaster("local")
val sc = new SparkContext(conf)
val ssc = new StreamingContext(sc, Seconds(2))
val directoryStream = ssc.textFileStream("""file:///C:/Users/something/something""")
directoryStream.foreachRDD(file => {
println(file.count())
})
ssc.start()
ssc.awaitTermination()
Run Code Online (Sandbox Code Playgroud)
即使文件夹为空,它也会每 2 秒打印 0,就像文件夹中存在空文件一样。我希望它只foreachRDD
在文件夹中存在新文件时才进入。有什么我做错了吗?
我使用的是 Spark 1.6 和 Scala 2.10.7。
我一直在本地集群上运行我的 Spark 作业,该集群具有从中读取输入和写入输出的 hdfs。现在我已经设置了一个 AWS EMR 和一个 S3 存储桶,我可以在其中输入我的输入,并且我希望我的输出也写入 S3。
错误:
用户类抛出异常:java.lang.IllegalArgumentException:错误 FS:s3://something/input,预期:hdfs://ip-some-numbers.eu-west-1.compute.internal:8020
我尝试搜索相同的问题,并且有几个关于此问题的问题。有人建议它仅用于输出,但即使我禁用输出,也会出现相同的错误。
另一个建议是有问题 FileSystem
我的代码有问题。以下是我的程序中出现的所有输入/输出:
第一次发生在我的 customFileInputFormat
中getSplits(JobContext job)
,我实际上并没有修改自己,但我可以:
FileSystem fs = path.getFileSystem(job.getConfiguration());
Run Code Online (Sandbox Code Playgroud)
类似的情况在我的自定义中RecordReader
,我自己也没有修改过:
final FileSystem fs = file.getFileSystem(job);
Run Code Online (Sandbox Code Playgroud)
在nextKeyValue()
我RecordReader
自己写的习惯中,我使用:
FileSystem fs = FileSystem.get(jc);
Run Code Online (Sandbox Code Playgroud)
最后,当我想检测我使用的文件夹中的文件数时:
val fs = FileSystem.get(sc.hadoopConfiguration)
val status = fs.listStatus(new Path(path))
Run Code Online (Sandbox Code Playgroud)
我认为问题出在我的代码上,但是如何修改FileSystem
调用以支持来自 S3 的输入/输出?
我正在尝试这样做:
req = urllib.request.Request("http://en.wikipedia.org/wiki/Philosophy")
content = urllib.request.urlopen(req).read()
soup = bs4.BeautifulSoup(content, "html.parser")
content = strip_brackets(soup.find('div', id="bodyContent").p)
for link in bs4.BeautifulSoup(content, "html.parser").findAll("a"):
print(link.get("href"))
Run Code Online (Sandbox Code Playgroud)
如果我改为这样做循环:
for link in soup.findAll("a"):
print(link.get("href"))
Run Code Online (Sandbox Code Playgroud)
我不再遇到错误,但是我想先除去内容的括号,然后再获得内容的所有链接。
错误(第36行是for循环的行):
Traceback (most recent call last):
File "....py", line 36, in <module>
for link in bs4.BeautifulSoup(content, "html.parser").findAll("a"):
File "C:\Users\...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\bs4\__init__.py", line 191, in __init__
markup = markup.read()
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
所以我有这样的时间戳:
1990-10-31 18:43:12
我想计算这两个时间戳之间的差异。
我尝试过的是:
val t1 = new java.text.SimpleDateFormat("yyyy-mm-dd HH:mm:ss")
val t2 = new java.text.SimpleDateFormat("yyyy-mm-dd HH:mm:ss")
t1.parse(timestamp1)
t2.parse(timestamp2)
Run Code Online (Sandbox Code Playgroud)
但是我该怎么办?
scala ×4
apache-spark ×2
hdfs ×2
amazon-s3 ×1
arrays ×1
c ×1
c++ ×1
destructor ×1
filesystems ×1
hadoop ×1
memory ×1
python ×1