我有一个存储在 s3 上的镶木地板数据集,我想从数据集中查询特定行。我能够使用petastorm它来做到这一点,但现在我只想使用pyarrow.
这是我的尝试:
import pyarrow.parquet as pq
import s3fs
fs = s3fs.S3FileSystem()
dataset = pq.ParquetDataset(
'analytics.xxx',
filesystem=fs,
validate_schema=False,
filters=[('event_name', '=', 'SomeEvent')]
)
df = dataset.read_pandas().to_pandas()
Run Code Online (Sandbox Code Playgroud)
但这会返回一个pandas DataFrame,就好像过滤器不起作用一样,即我有具有不同值的行event_name。有什么我遗漏的或我误解的吗?我可以在获得 pandas DataFrame 后进行过滤,但我会使用比需要更多的内存空间。
我想使用服务帐号从 Cloud Run 连接到 Cloud SQL 实例。连接过去是在 VPC 内创建的,我们只需向 PostgreSQL 客户端提供带有 auser和 a 的连接字符串。password但现在我们希望身份验证由 Google Cloud IAM 管理,服务帐户与 Cloud Run 服务关联。
在我的机器上,我可以使用enable_iam_login参数来使用我自己的服务帐户。运行 Cloud SQL 代理的命令如下所示:
./cloud_sql_proxy -dir=/cloudsql -instances=[PROJECT-ID]:[REGION]:[INSTANCE] \
-enable_iam_login -credential_file=${HOME}/.config/gcloud/application_default_credentials.json
Run Code Online (Sandbox Code Playgroud)
问题是我似乎找不到使用 IAM 身份验证方法从 Cloud Run 运行 Cloud SQL 代理的方法,我只能提供实例名称。以前有人遇到过这个问题吗?
google-cloud-sql google-cloud-platform cloud-sql-proxy google-cloud-iam google-cloud-run
我想在 jupyter notebook 中使用 pyspark 查询 PostgreSQL。我在 StackOverflow 上浏览了很多问题,但没有一个对我有用,主要是因为答案似乎过时了。这是我的最小代码:
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
url = 'jdbc:postgresql://host/dbname'
properties = {'user': 'username', 'password': 'pwd'}
df = spark.read.jdbc(url=url, table='tablename', properties=properties)
Run Code Online (Sandbox Code Playgroud)
从笔记本运行它会引发以下错误:
Py4JJavaError: An error occurred while calling o69.jdbc.
: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:315)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:85)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:85)
at scala.Option.getOrElse(Option.scala:121)...
Run Code Online (Sandbox Code Playgroud)
我发现的主要技巧总结在下面的链接中,但不幸的是我无法让它们在我的笔记本中工作:
Pyspark 连接到 ipython notebook 中的 Postgres 数据库
注意:我使用的是 Spark 2.3.1 和 Python 3.6.3,如果我指定了 jar 位置,我可以从 pyspark shell 连接到数据库。
pyspark --driver-class-path /home/.../postgresql.jar --jars /home/.../jars/postgresql.jar
Run Code Online (Sandbox Code Playgroud)
感谢任何可以帮助我解决这个问题的人。
编辑
是否可以生成一个reactiveValues变量名称由某个列表给出的变量list_of_names?例如,这些变量可以存储指示相应变量的状态的布尔值。
想象一下我有一个清单x:
x <- lapply(LETTERS, function(i) TRUE)
names(x) <- LETTERS
Run Code Online (Sandbox Code Playgroud)
我可以生成一个reactiveValues rv行为x类似的x吗?
我没能做到这一点,我能想到的就是这样的:
ui <- fluidPage(
textOutput("boolean")
)
server = function(input, output, session){
nms <- LETTERS[1:10]
### lines that I would change
rv <- reactiveValues(A = TRUE)
for (n in nms) {rv[[n]] <- TRUE}
###
output$boolean <- renderText(rv[["D"]])
}
shinyApp(ui,server)
Run Code Online (Sandbox Code Playgroud)
它有效,但我确信必须有一种更简单且“更干净”的方法来做到这一点,因为x和rv非常相似。感谢任何可以在这方面帮助我的人。
我有一个张量,我使用tf.map_fn. 现在我想将索引作为参数包含在我传递给的函数中tf.map_fn。在 numpy 中,我可以enumerate用来获取该信息并将其传递到我的 lambda 函数中。这是 numpy 中的一个示例,我将 0 添加到第一行,将 1 添加到第二行,依此类推:
a = np.array([[2, 1], [4, 2], [-1, 2]])
def some_function(x, i):
return x + i
res = map(lambda (i, row): some_function(row, i), enumerate(a))
print(res)
> [array([2, 1]), array([5, 3]), array([1, 4])]
Run Code Online (Sandbox Code Playgroud)
我一直无法enumerate在 tensorflow 中找到等效项,我不知道如何在 tensorflow 中获得相同的结果。有人知道用什么让它在 tensorflow 中工作吗?这是一个示例代码,我在其中的每一行中添加 1 a:
import tensorflow as tf
a = tf.constant([[2, 1], [4, 2], [-1, 2]])
with tf.Session() as sess:
res = tf.map_fn(lambda …Run Code Online (Sandbox Code Playgroud) 我试图调整一个plotOutputui对象的光泽
library(shiny)
ui <- fluidPage(
fluidRow(
column(6, numericInput('save.height', "Save height (mm)", value = 50)),
column(6, numericInput('save.width', "Save width (mm)", value = 43))),
plotOutput('plot_display', width = '50mm', height = '43mm'))
server <- function(input, output) {
output$plot_display <- renderPlot({
ggplot(iris, aes(x = Species, y = Petal.Length)) +
stat_summary(geom = 'bar', fun.y = mean) +
geom_point() +
theme(aspect.ratio = 1)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我无法找到相当于updateNumericInput()动态更新值的东西plotOutput
python ×3
r ×2
shiny ×2
amazon-s3 ×1
apache-spark ×1
pandas ×1
parquet ×1
pyarrow ×1
pyspark ×1
tensorflow ×1