Google bigquery 将云存储中的文本文件(.txt)加载到大查询表中
我有一组文本文件,每5分钟上传一次到谷歌云存储中。我想每5分钟将它们放入BigQuery(因为文本文件每5分钟上传到云存储)。我知道文本文件不能上传到BigQuery。最好的方法是什么 文本文件的示例 提前感谢。您可以利用Google bigquery 将云存储中的文本文件(.txt)加载到大查询表中,google-bigquery,google-cloud-storage,text-files,Google Bigquery,Google Cloud Storage,Text Files,我有一组文本文件,每5分钟上传一次到谷歌云存储中。我想每5分钟将它们放入BigQuery(因为文本文件每5分钟上传到云存储)。我知道文本文件不能上传到BigQuery。最好的方法是什么 文本文件的示例 提前感谢。您可以利用 使用架构(编辑为文本)文本:字符串 将.txt文件转换为.csv文件 从Google云存储创建BigQuery传输 将.csv文件上载到GCS存储桶中 检查您的转移是否成功 目前,这项服务每小时传输一次新添加的文件,传输速度很快 该服务将检查是否存在从将文件上载到bucke
- text1.csv于4:46上传
- text2.csv于5:01上传
- text3.csv于5:06上传
结果: - 5:00的传输运行不会传输任何文件
- 6:00的传输运行将传输text1.csv
- 7:00的传输运行将传输text2.csv和text3.csv
- 在正文的开头和结尾添加“我要去市场买蔬菜”等字符
- “另存为”将文件另存为text1.csv
- 命名文件,使其具有相同的开头字符,例如文本[…].csv,以便能够使用
- 对下一个文件重复此操作(text2.csv、text3.csv、text4.csv…)
- 文本中不包含“字符-将其替换为”字符
- 确保整个文本以换行符(EOF)的形式内联
- 时间表选项:
- 云存储URI:
- 写入首选项:
- 文件格式:
- text1.csv于4:46上传
- text2.csv于5:01上传
- text3.csv于5:06上传
结果: - 5:00的传输运行不会传输任何文件
- 6:00的传输运行将传输text1.csv
- 7:00的传输运行将传输text2.csv和text3.csv
- 在正文的开头和结尾添加“我要去市场买蔬菜”等字符
- “另存为”将文件另存为text1.csv
- 命名文件,使其具有相同的开头字符,例如文本[…].csv,以便能够使用
- 对下一个文件重复此操作(text2.csv、text3.csv、text4.csv…)
- 文本中不包含“字符-将其替换为”字符
- 确保整个文本以换行符(EOF)的形式内联
- 时间表选项:
- 云存储URI:
- 写入首选项:
- 文件格式:
也可以查看传输的文本。他是另一种方法,使用基于事件的
云函数
将数据加载到BigQuery中。创建一个带有“触发器类型”
作为云存储的云函数。一旦文件/文件加载到云存储桶中,就会调用/触发云函数事件,云存储的数据将加载到BigQuery中
import pandas as pd
from google.cloud import bigquery
def bqDataLoad(event, context):
bucketName = event['bucket']
blobName = event['name']
fileName = "gs://" + bucketName + "/" + blobName
bigqueryClient = bigquery.Client()
tableRef = bigqueryClient.dataset("bq-dataset-name").table("bq-table-name")
dataFrame = pd.read_csv(fileName)
bigqueryJob = bigqueryClient.load_table_from_dataframe(dataFrame, tableRef)
bigqueryJob.result()
他是另一种方法,使用基于事件的
云函数
将数据加载到BigQuery中。创建一个带有“触发器类型”
作为云存储的云函数。一旦文件/文件加载到云存储桶中,就会调用/触发云函数事件,云存储的数据将加载到BigQuery中
import pandas as pd
from google.cloud import bigquery
def bqDataLoad(event, context):
bucketName = event['bucket']
blobName = event['name']
fileName = "gs://" + bucketName + "/" + blobName
bigqueryClient = bigquery.Client()
tableRef = bigqueryClient.dataset("bq-dataset-name").table("bq-table-name")
dataFrame = pd.read_csv(fileName)
bigqueryJob = bigqueryClient.load_table_from_dataframe(dataFrame, tableRef)
bigqueryJob.result()
谢谢您是否知道如何转换位于中的一组.txt文件