小编sea*_*ain的帖子

如何传递函数参数的值并运行独立的 Google Apps 脚本?

从文档中,https://developers.google.com/apps-script/guides/standalone

\n\n

运行独立脚本

\n\n

编写脚本后,有两种方法可以从脚本编辑器运行函数:

\n\n
    \n
  • 选择“运行”菜单,然后选择要执行的函数的名称。

  • \n
  • 从工具栏的选择框中选择要执行的函数的名称,然后单击\xe2\x96\xb6。

  • \n
\n\n

它没有告诉我们如何将参数值传递给我想要运行的函数。

\n\n

那么如何将参数值传递给函数并运行这些函数呢?

\n

google-apps-script google-apps-script-editor

4
推荐指数
1
解决办法
2635
查看次数

将bigquery数据导出到云存储,整数字段更改为字符串格式,但浮点格式保持数字格式

我有这些 bigquery 字段

views   INTEGER NULLABLE    
comments    INTEGER NULLABLE    
shares  INTEGER NULLABLE    
watch_time_minutes  FLOAT   NULLABLE    
Run Code Online (Sandbox Code Playgroud)

观看次数 评论 分享 watch_time_minutes 0 0 1 0.0

我通过BigQuery控制台页面(简称“导出表”)将此bigquery数据导出到云存储(json格式),我得到的是

{"views":"0","comments":"0","shares":"1","watch_time_minutes":0}
Run Code Online (Sandbox Code Playgroud)

请注意,在此 json 记录中,整数字段更改为字符串值,"views":"0","comments":"0","shares":"1"

但浮点字段保持数字格式“watch_time_months”:0

Json 中的整数字段应保持数字格式,如下所示

"views":0,"comments":0,"shares":1
Run Code Online (Sandbox Code Playgroud)

否则,在接下来的过程中,当我对这些应该是整数字段(但不显示为 json 中的字符串)进行数学运算时,我会遇到问题。

有什么建议吗?

现在,我的一个解决方案是循环访问(数百万行)存储文件并将所有整数字段转换回整数。但它击败了“只需通过一条语句将bigquery表导出到存储”的性能优势。

我有另一个丑陋的解决方案,即“将整数字段重新定义为浮点数”,但这真的很丑陋,并且稍后会导致其他问题。例如我无法将浏览次数显示为 0.0 次。ETC。

谢谢!

google-cloud-storage google-bigquery

3
推荐指数
1
解决办法
1961
查看次数

pip在新的虚拟环境上安装apache-airflow然后是airit initdb:SyntaxError

$ virtualenv --version
16.3.0
$ pip --version
pip 19.0.1
Run Code Online (Sandbox Code Playgroud)

我创造了一个新鲜的环境。并运行

pip install apache-airflow
Run Code Online (Sandbox Code Playgroud)

安装成功

apache-airflow   1.10.2 
Run Code Online (Sandbox Code Playgroud)

但是然后我运行

 airflow initdb
Run Code Online (Sandbox Code Playgroud)

我得到了错误

ERROR [airflow.models.DagBag] Failed to import: /Users/admin/workshops/apache/airflow/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py
    Traceback (most recent call last):
      File "/Users/admin/workshops/apache/airflow/lib/python3.7/site-packages/airflow/models.py", line 374, in process_file
        m = imp.load_source(mod_name, filepath)
      File "/Users/admin/workshops/apache/airflow/lib/python3.7/imp.py", line 171, in load_source
        module = _load(spec)
      File "<frozen importlib._bootstrap>", line 696, in _load
      File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/Users/admin/workshops/apache/airflow/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py", …
Run Code Online (Sandbox Code Playgroud)

pip airflow

3
推荐指数
1
解决办法
1145
查看次数

Google Bigquery - 运行参数化查询 - php

来自 Google Bigquery 文档:

运行参数化查询

BigQuery 支持查询参数,以帮助防止使用用户输入构建查询时的 SQL 注入。此功能仅适用于标准 SQL 语法。

要指定命名参数,请使用 @ 字符后跟标识符,例如 @param_name。

Google Bigquery 有 python 和 Java 的示例代码来使用参数化查询。

https://cloud.google.com/bigquery/querying-data#bigquery-query-params-python

Google Bigquery 此处没有用于运行参数化查询的 php 示例代码。

我尝试在 php 中使用 @,就像在 python 和 java 代码中一样,但它不起作用。

有什么建议吗?

谢谢!

我根据 Elliott 和 Mosha 的要求添加了代码

代码:

 $query = "SELECT * FROM [myproject.mydateset.users]  where user_id = '$userId' LIMIT 1000";
$queryResults = $this->bigQuery->runQuery($query);
Run Code Online (Sandbox Code Playgroud)

这个查询没问题。但这并不能阻止sql注入。

我尝试将查询更改为

$query = "SELECT * FROM [myproject.mydateset.users]  where user_id = '@$userId' LIMIT 1000";
Run Code Online (Sandbox Code Playgroud)

或者

$query = "SELECT * FROM [myproject.mydateset.users] …
Run Code Online (Sandbox Code Playgroud)

parameterized-query google-bigquery

1
推荐指数
1
解决办法
3232
查看次数

在Laravel Homestead上,如何获取主机的本地IP地址?

我正在Macbook上运行Laravel Homestead。

  1. 在Macbook Air上,运行ifconfig,它向我显示本地IP地址为“ inet 192.168.1.20”
  2. 我正在Macstead Air上的Homestead上运行Homestead,我会调用Macbook Air上运行的某些服务,但会调用ip地址192.168.1.20。问题是我在代码中将此Macbook Air地址硬编码为192.168.1.20。如果我登录到另一个局域网,我的macbook air本地IP地址将被更改。然后,我将不得不更改我的代码。

我所做的一件事是使用.env设置主机IP,因此每次只需要在一个位置更改ip。

家园会以任何方式知道其托管计算机的IP地址吗?

谢谢!

homestead

1
推荐指数
1
解决办法
678
查看次数

将记录插入到BigQuery流中vs.简单插入-使用table-&gt; insertRow或table-&gt; inserRows vs使用bigquery-&gt; runquery

如果我使用table-> insertRow()或table-> inserRows()函数,则意味着我正在将数据流式传输到bigquery中。

https://googlecloudplatform.github.io/google-cloud-php/#/docs/google-cloud/v0.53.0/bigquery/table

但是,如果我使用bigquery-> runQuery()函数运行insert语句,则不会进行流式处理。

https://googlecloudplatform.github.io/google-cloud-php/#/docs/google-cloud/v0.53.0/bigquery/bigqueryclient?method=runQuery

在哪种情况下,我应该使用流式传输来插入数据?在什么情况下,我应该使用bigquery runQuery运行插入语句?

谢谢!

streaming google-bigquery

1
推荐指数
1
解决办法
2184
查看次数

iMac 上 Neo4j Desktop 的 config 文件夹和 bin 文件夹在哪里?

找到 Neo4j 社区版本的 config 和 bin 文件夹很简单。它们位于我安装 Neo4j 社区版本的文件夹中。

但对于 Neo4j Desktop,我找不到 bin 和 config 文件夹。

Neo4j 桌面应用程序

/Applications/Neo4j Desktop
Run Code Online (Sandbox Code Playgroud)

Neo4j 桌面应用程序数据库

~/Library/Application Support/Neo4j Desktop/Application/neo4jDatabases
Run Code Online (Sandbox Code Playgroud)

但我找不到 Neo4j Desktop config 和 bin 文件夹在哪里。

neo4j

0
推荐指数
1
解决办法
643
查看次数