我正在尝试使用Azure资源管理器(ARM)模板文件作为ASP.net网站进行部署,并且遇到了障碍.这是Azure的一个新生功能,所以网上没有太多关于它的专业知识,希望有人可以提供帮助.
我可以在新的资源组中成功创建一个新站点(即Microsoft.Web/sites资源),即当我在ARM模板中定义一个网站时,它可以正常工作:
{
"apiVersion": "2014-06-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"tags": {
"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
"displayName": "Website"
},
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('siteName')]",
"serverFarm": "[parameters('hostingPlanName')]"
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将ASP.net网站部署到其中时,我的问题出现了.这是我添加到ARM模板的内容:
{
"apiVersion": "2014-06-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"tags": {
"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
"displayName": "Website"
},
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('siteName')]",
"serverFarm": "[parameters('hostingPlanName')]"
},
"resources": [
{
"apiVersion": "2014-06-01",
"type": "extensions",
"name": "MSDeploy",
"dependsOn": [ "[concat('Microsoft.Web/sites/', parameters('siteName'))]" ], …Run Code Online (Sandbox Code Playgroud) 为什么列1st_from_end包含null:
from pyspark.sql.functions import split
df = sqlContext.createDataFrame([('a b c d',)], ['s',])
df.select( split(df.s, ' ')[0].alias('0th'),
split(df.s, ' ')[3].alias('3rd'),
split(df.s, ' ')[-1].alias('1st_from_end')
).show()
Run Code Online (Sandbox Code Playgroud)
我有一个包含各种位的docker镜像,包括Spark.这是我的Dockerfile:
FROM docker-dev.artifactory.company.com/centos:7.3.1611
# set proxy
ENV http_proxy http://proxyaddr.co.uk:8080
ENV HTTPS_PROXY http://proxyaddr.co.uk:8080
ENV https_proxy http://proxyaddr.co.uk:8080
RUN yum install -y epel-release
RUN yum install -y gcc
RUN yum install -y krb5-devel
RUN yum install -y python-devel
RUN yum install -y krb5-workstation
RUN yum install -y python-setuptools
RUN yum install -y python-pip
RUN yum install -y xmlstarlet
RUN yum install -y wget java-1.8.0-openjdk
RUN pip install kerberos
RUN pip install numpy
RUN pip install pandas
RUN pip install coverage
RUN pip install …Run Code Online (Sandbox Code Playgroud) 我在不可为空的数据框中有一个 StructField。简单的例子:
import pyspark.sql.functions as F
from pyspark.sql.types import *
l = [('Alice', 1)]
df = sqlContext.createDataFrame(l, ['name', 'age'])
df = df.withColumn('foo', F.when(df['name'].isNull(),False).otherwise(True))
df.schema.fields
Run Code Online (Sandbox Code Playgroud)
返回:
[StructField(name,StringType,true), StructField(age,LongType,true), StructField(foo,BooleanType,false)]
请注意,该字段foo不可为空。问题是(出于我不会讨论的原因)我希望它可以为空。我发现这篇文章Change nullable property of column in spark dataframe建议了一种方法,所以我将其中的代码调整为:
import pyspark.sql.functions as F
from pyspark.sql.types import *
l = [('Alice', 1)]
df = sqlContext.createDataFrame(l, ['name', 'age'])
df = df.withColumn('foo', F.when(df['name'].isNull(),False).otherwise(True))
df.schema.fields
newSchema = [StructField('name',StringType(),True), StructField('age',LongType(),True),StructField('foo',BooleanType(),False)]
df2 = sqlContext.createDataFrame(df.rdd, newSchema)
Run Code Online (Sandbox Code Playgroud)
失败了:
TypeError: StructField(name,StringType,true) 不是 JSON 可序列化的
我也在堆栈跟踪中看到了这一点:
raise ValueError("检测到循环引用")
所以我有点卡住了。任何人都可以修改这个例子,使我能够定义一个列可以 …
Spark SQL文档指定join()支持以下联接类型:
必须是以下之一:内部,交叉,外部,完整,完整_外部,左,左_外部,右,右_外部,左_半和left_anti。
有什么区别outer和full_outer?我怀疑不是,我怀疑它们只是彼此的同义词,但想弄清楚。
sc我有一个带有高度定制的 SparkConf() 的SparkContext 。如何使用 SparkContext 创建 SparkSession?我发现这篇文章:https ://stackoverflow.com/a/53633430/201657展示了如何使用 Scala 来做到这一点:
val spark = SparkSession.builder.config(sc.getConf).getOrCreate()
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用 PySpark 应用相同的技术时:
from pyspark.sql import SparkSession
spark = SparkSession.builder.config(sc.getConf()).enableHiveSupport().getOrCreate()
Run Code Online (Sandbox Code Playgroud)
它因错误而失败
AttributeError:“SparkConf”对象没有属性“_get_object_id”
正如我所说,我想SparkConf在 SparkSession 中使用与 SparkContext 中使用的相同的内容。我该怎么做?
更新
我做了一些摆弄:
from pyspark.sql import SparkSession
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
sc.getConf().getAll() == spark.sparkContext.getConf().getAll()
Run Code Online (Sandbox Code Playgroud)
回报
真的
so the SparkConf of both the SparkContext & the SparkSession are the same. My assumption from this is that SparkSession.builder.getOrCreate() will use an existing SparkContext if it exists. Am I correct?
我正在使用Terraform archive_file 提供程序将多个文件打包成一个 zip 文件。当我像这样定义存档时,它工作正常:
data "archive_file" "archive" {
type = "zip"
output_path = "./${var.name}.zip"
source_dir = "${var.source_dir}"
}
Run Code Online (Sandbox Code Playgroud)
但是我不希望存档包含所有文件var.source_dir,我只想要其中的一个子集。我注意到 archive_file 提供程序有一个source_file属性,所以我希望我可以提供这些文件的列表并将它们打包到存档中,如下所示:
locals {
source_files = ["${var.source_dir}/foo.txt", "${var.source_dir}/bar.txt"]
}
data "archive_file" "archive" {
type = "zip"
output_path = "./${var.name}.zip"
count = "2"
source_file = "${local.source_files[count.index]}"
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,存档是为定义的每个文件构建的,local.source-files因此我有一个“最后一个获胜”场景,其中构建的存档文件仅包含 bar.txt。
我试过这个:
locals {
source_files = ["${var.source_dir}/main.py", "${var.source_dir}/requirements.txt"]
}
data "archive_file" "archive" {
type = "zip"
output_path = "./${var.name}.zip"
source_file = "${local.source_files}"
}
Run Code Online (Sandbox Code Playgroud)
但不出所料,失败了:
data.archive_file.archive:source_file …
在我不断追求更好地理解Powershell的过程中,有人可以向我解释这种行为:
function fn1{return @()}
(@()).GetType() #does not throw an error
(fn1).GetType() #throws error "You cannot call a method on a null-valued expression."
Run Code Online (Sandbox Code Playgroud)
为什么从函数返回一个值使它"不同"?
有趣的是(或许不是),get-member的管道在两种情况下表现出相同的行为:
function fn1{return @()}
@() | gm #does throw an error "You cannot call a method on a null-valued expression."
fn1 | gm #does throw an error "You cannot call a method on a null-valued expression."
Run Code Online (Sandbox Code Playgroud)
让我困惑的颜色.有人可以解释一下吗?
我的组织使用 artifactory,一个本地包存储库管理器。Artifactory 提供了一个名为 Remote Repositories 的功能,它为远程存储库提供代理和缓存功能,我们使用它来代理和缓存对 PyPi 的访问(有关更多详细信息,请参阅PyPi 存储库)。
为了使用这个远程存储库,必须在 pip.conf 中添加一个条目。我已经在需要安装一些机器的盒子上完成了这项工作,但是当我发出 pip 命令(在我的情况下是它sudo -E pip install --ignore-installed pip setuptools wheel)时,pip 似乎忽略了 pip.conf 中的内容,而是试图访问https://pypi .python.org。
这是我刚刚运行的记录:
$ cat /etc/pip.conf
[global]
index-url = https://username:password@artifactory.myorg.com/artifactory/api/pypi/pypi-remote/simple
$ sudo -E pip
install --ignore-installed pip setuptools wheel
Downloading/unpacking pip
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement pip
Cleaning up...
No distributions at all found for pip
Storing debug log for failure …Run Code Online (Sandbox Code Playgroud) 我们正在尝试使用 BigTable 并正在进行容量规划练习。我们认为在实施的早期阶段,一个节点就能满足我们的需求,稍后我们会根据需要添加更多节点。我唯一的问题是,我们是否需要多个节点才能提供高可用性?(这里很明显我对“节点”的构成缺乏理解,这个问题的答案将帮助我理解)
pyspark ×3
python ×3
apache-spark ×2
archive-file ×1
azure ×1
docker ×1
pip ×1
powershell ×1
pycharm ×1
terraform ×1