统计文件并且写入mysql中

#!/bin/bash  

dir='/usr'
now_date=$(date +"%Y-%m-%d")

d_h="xxx"
d_u="xxx"
d_p="xxx"
d_b='xxx'

for i in $(ls $dir)
do
    pdir=$dir/$i
    if [ ! -d "$pdir" ]; then
        echo "Skipping $pdir: Not a directory"  
        continue
    fi
    dirsize=$(du -sm "$pdir" | awk '{print $1}')
    sql_data="('$i', '$pdir', $dirsize, '$now_date')"
    query="INSERT INTO xxx(xxx, xxx, xxx, xxx) VALUES $sql_data"
 #   echo $query
    mysql -h$d_h -u$d_u -p$d_p $d_b -e "$query" 2>/dev/null
 #   mysql -h$d_h -u$d_u -p$d_p $d_b -e "$query" 2>/dev/dull
done

首先,我们需要将 `reduceByKeyAndWindow` 的结果转换为可以写入文本文件MySQL 数据库的格式,比如一个包含单词和频率的元组列表。假设我们已经完成了这个转换,下面是将结果写入文本文件MySQL 数据库的示例代码: ```python # 导入必要的库 import mysql.connector import os # 将结果写入文本文件 def write_to_file(result, filename): with open(filename, 'w') as f: for word, freq in result: f.write(f'{word}:{freq}\n') # 将结果写入 MySQL 数据库 def write_to_mysql(result, db_config): # 连接数据库 conn = mysql.connector.connect(**db_config) cursor = conn.cursor() # 创建表 cursor.execute('CREATE TABLE IF NOT EXISTS wordfreq (word VARCHAR(255), freq INT)') # 清空表 cursor.execute('TRUNCATE TABLE wordfreq') # 插入数据 for word, freq in result: cursor.execute('INSERT INTO wordfreq (word, freq) VALUES (%s, %s)', (word, freq)) # 提交事务并关闭连接 conn.commit() cursor.close() conn.close() # 示例代码 if __name__ == '__main__': # 假设结果已经转换为列表形式,并存储在变量 result result = [('hello', 3), ('world', 2), ('python', 1)] # 将结果写入文本文件 write_to_file(result, 'wordfreq.txt') # 将结果写入 MySQL 数据库 db_config = { 'host': 'localhost', 'user': 'root', 'password': 'password', 'database': 'test' } write_to_mysql(result, db_config) ``` 请注意,这只是一个示例代码,实际应用需要根据具体情况进行修改。此外,为了将结果写入 MySQL 数据库,我们需要安装 `mysql-connector` 库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值