我想将查询结果从 BigQuery 导出到本地文件/Google 存储。
我试过 'bq extract' 命令,但它不允许查询作为输入。
Usage: bq extract <source_table> <destination_uris>
Run Code Online (Sandbox Code Playgroud)
我不想提取整个表,因为该表包含许多不需要的列,我需要聚合数据。
到目前为止,我能找到的唯一解决方法是使用“bq query”命令创建一个表并使用“bq extract”来提取数据。
我正在寻找任何更好的方法来通过执行以下操作来实现这一目标。
bq extract 'select dept_id,sum(sal) from temp.employee
group by dept_id' 'gs://XXXX/employee.csv'
Run Code Online (Sandbox Code Playgroud) 我有多个zip文件包含两种类型的文件(A.csv和B.csv)
/data/jan.zip - >包含A.csv和B.csv
/data/feb.zip - >包含A.csv和B.csv
我想使用pyspark读取所有zip文件中所有A.csv文件的内容.
textFile = sc.textFile("hdfs://<HDFS loc>/data/*.zip")
Run Code Online (Sandbox Code Playgroud)
有人能告诉我如何将A.csv文件的内容放入RDD吗?
我正在寻找一个通用的解决方案来从 JSON 字符串列中提取所有 json 字段作为列。
df = spark.read.load(path)
df.show()
Run Code Online (Sandbox Code Playgroud)
“路径”中文件的文件格式是 parquet
样本数据
|id | json_data
| 1 | {"name":"abc", "depts":["dep01", "dep02"]}
| 2 | {"name":"xyz", "depts":["dep03"],"sal":100}
| 3 | {"name":"pqr", "depts":["dep02"], "address":{"city":"SF","state":"CA"}}
Run Code Online (Sandbox Code Playgroud)
预期产出
|id | name | depts | sal | address_city | address_state
| 1 | "abc" | ["dep01", "dep02"] | null| null | null
| 2 | "xyz" | ["dep03"] | 100 | null | null
| 3 | "pqr" | ["dep02"] | null| "SF" | "CA"
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过创建定义了架构的 …
我正在尝试在远程机器上执行命令并获取输出。
我尝试在 shell 脚本下实现,但无法获取内容。
#!/bin/bash
out=$(ssh huser@$source << EOF
while IFS= read -r line
do
echo 'Data : ' $line
done < "data.txt"
EOF
)
echo $out
Run Code Online (Sandbox Code Playgroud)
Data : Data : Data :
Run Code Online (Sandbox Code Playgroud)
我可以看到“数据:”被打印了 3 次,因为文件“data.txt”有 3 行文本。
我不能使用 scp 命令直接获取文件,因为我可能必须在文本文件的位置运行一些命令。
有人可以帮我找到问题吗?
提前致谢。