When I run the following code on the server (I think, when reading the json file with google application credentials), I get the following error:
TypeError: Object of type 'bytes' is not JSON serializable
Json as( source here ):
My Code:
import mysql.connector from google.cloud import bigquery import pandas as pd import os os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/root/google_credentials.json" def incomes(): client = bigquery.Client() print("connecting MySql...") mydb = mysql.connector.connect( host='host', user='1111', password='password', database="my_database") print ("Connection ok") mycursor = mydb.cursor() mycursor.execute('''query''') myresult = mycursor.fetchall() df=pd.DataFrame(myresult,columns=mycursor.column_names) dataset_ref = client.dataset('dataset') job_config = bigquery.LoadJobConfig() job_config.autodetect = True job_config.write_disposition = "WRITE_TRUNCATE" load_job = client.load_table_from_dataframe( df, 'table_name', job_config=job_config ) print("Starting job {}".format(load_job)) return ("Done!", 200) incomes()
When I run it with spyder IDE on my local computer with windows installed, there is no problem.
Advertisement
Answer
I solved the problem. The python version installed on the server was 3.6.8. I upgraded this version to python 3.8.12 and the problem was solved.