我在 scala 应用程序中有一行代码,它采用一列两行的数据框,并将它们分配给变量start
和end
:
val Array(start, end) = datesInt.map(_.getInt(0)).collect()
Run Code Online (Sandbox Code Playgroud)
此代码在 REPL 中运行时工作正常,但是当我尝试将同一行放入 Intellij 的 scala 对象中时,它会(?: Encoder[Int])
在.collect()
语句前插入灰色,并显示内联错误No implicits found for parameter evidence$6: Encoder[Int]
我对 Scala 很陌生,我不知道如何解决这个问题。
今天启动笔记本电脑(Ubuntu 18.4)并尝试使用pip安装软件包时遇到问题,我遇到此错误:
Error processing line 3 of /home/cjones/.local/lib/python3.6/site-packages/googleapis_common_protos-1.5.8-py3.6-nspkg.pth:
Traceback (most recent call last):
File "/usr/lib/python3.6/site.py", line 174, in addpackage
exec(line)
File "<string>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 568, in module_from_spec
AttributeError: 'NoneType' object has no attribute 'loader'
Remainder of file ignored
Run Code Online (Sandbox Code Playgroud)
自上次成功启动以来,我认为我没有进行任何更改,但是似乎缺少了某些东西……有人可以帮忙吗?
我想在我的 SSIS 包中定义start_date
和参数,并有一个为这 2 个日期(含)之间的每个日期运行的容器,该容器执行一个 SQL 查询,获取当前日期值(即从 开始)并将其用作查询的参数。end_date
foreach
start_date
我对 SSIS 编程很陌生,我找不到有关如何执行此操作的信息。
例如,我目前有一个由一个主服务器和4个工作器组成的DataProc集群,每台计算机具有8个vCPU和30GB内存。
每当我向集群提交作业时,集群最多会提交总共11GB的内存,并且仅委派2个工作程序节点来完成工作,并且在那些节点上仅使用2个vCPU资源。这样一来,只需几分钟即可完成的工作大约需要一个小时。
我尝试spark-defaults.conf
在主节点上编辑文件,并尝试spark-submit
使用参数运行命令,--executor-cores 4 --executor-memory 20g --num-executors 4
但都没有任何效果。
这些集群只会被旋转以执行单个任务,然后被拆除,因此不需要为任何其他作业保留资源。
我已经分配了一项任务,以考虑一种在GCP中设置云功能的方法,该方法可以执行以下操作:
监视Google Cloud Storage存储桶中的新文件
在检测到存储桶中的新文件时触发
将该文件复制到Compute Instance(Ubuntu)内的目录中
我一直在做一些研究,但很快就空了。我知道我可以轻松地建立一个cron作业,该作业每分钟或类似的时间同步存储桶/目录,但是我们正在构建的系统的设计理念之一是使用触发器而不是计时器。
我要问的可能吗?
python-3.x google-cloud-storage google-compute-engine google-cloud-platform google-cloud-functions
我正在使用 Google Compute 实例 (Ubuntu),并且之前使用 GCSFuse 实用程序成功将存储桶挂载到本地挂载点。
今天我再次这样做,并得到了以下输出:
Using mount point: /srv/bucket
Opening GCS connection...
Opening bucket...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn:
setUpBucket: OpenBucket: Unknown bucket "[redacted]"
Run Code Online (Sandbox Code Playgroud)
我运行了命令gsutil ls
,存储桶在返回的列表中清晰可见。我对桶的拼写进行了两次和三次检查,但找不到问题。
google-cloud-storage google-compute-engine google-cloud-platform gcsfuse
我正在尝试创建一个Google Cloud函数,该函数可对所有当前正在运行的DataProc集群进行迭代,但是该dataproc.list_functions()
方法要求将区域作为参数传递。我们可以同时在多个活动区域上拥有多个集群。
有没有办法在Python中检索区域列表并将调用包装到遍历所有区域list_functions
的for
循环中?
例如:
for region in regions:
for cluster in client.list_clusters('project', region):
do_stuff()
Run Code Online (Sandbox Code Playgroud) python google-cloud-platform google-cloud-dataproc google-cloud-functions
我想将Python安装恢复为基本状态,以便可以开始使用virtualenv
。是否有一种简单的方法可以仅卸载在设置Python之后安装的那些软件包?
我在这里找到了一个漂亮的命令 - http://www.stackoverflow.com/questions/27892957/merging-multiple-csv-files-into-one-using-powershell我用来合并 CSV 文件 -
Get-ChildItem -Filter *.csv | Select-Object -ExpandProperty FullName | Import-Csv | Export-Csv .\merged\merged.csv -NoTypeInformation -Append
Run Code Online (Sandbox Code Playgroud)
现在,这正如其上所说的那样,并且在大多数情况下都非常有效。但是我有两个问题,我想知道是否有办法可以克服它们:
首先,合并的 csv 文件具有 CRLF 行结尾,我想知道在生成文件时如何使行结尾仅为 LF?
另外,看起来有一些恶作剧添加/移动了引号。举个例子:
初始 CSV 中的示例行:
"2021-10-05"|"00:00"|"1212"|"160477"|"1.00"|"3.49"LF
Run Code Online (Sandbox Code Playgroud)
合并的 CSV 中的同一行:
"2021-10-05|""00:00""|""1212""|""160477""|""1.00""|""3.49"""CRLF
Run Code Online (Sandbox Code Playgroud)
因此,可以看到第一行丢失了尾随引号,其他字段有双引号,并且行末尾有一个附加引号。我不太确定这里发生了什么,所以任何帮助将不胜感激!
python ×3
apache-spark ×2
pip ×2
csv ×1
date ×1
etl ×1
for-loop ×1
gcsfuse ×1
powershell ×1
python-3.x ×1
scala ×1
sql-server ×1
ssis ×1
ubuntu ×1