【无标题】

ETL项目–自学笔记(补充)

1、服务启动

cdh虚拟机中服务会自动启动

手动启动

  • 启动hadoop服务
    • /export/server/hadoop/sbin/start-all.sh
  • 启动hive服务
    • metastore 管理元数据(库表信息) metasotre会将元数据存储在mysql中
      • nohup /export/server/hive/bin/hive --service metastore &
      • 可以使用一代客户端直接连接
        • hive -f sql文件 执行sql文件中的sql语句
        • hive -e ‘sql语句’ 执行sql语句
        • hive --conf 指定配置信息
        • hive 连接服务
    • hiveserver2
      • 启动二代客户端服务
        • nohup /export/server/hive/bin/hive --service hiveserver2 &
      • 使用二代客户端连接
        • beeline
        • pycharm或datagrip集成了二代客户端
      • 默认绑定端口是10000
      • lsof -i:10000 检查端口对应的服务是否启动

2、Python导入

# 导入客户端
from hdfs import InsecureClient

clinet = InsecureClient(url='http://158.137.157.157:9870/',user='root')

# 使用客户端操作hdfs
# 查看指定路径下的信息
result = clinet.list('/')
print(result)
# 创建目录
# clinet.makedirs('/data',permission='755')

# 向目录中写入文件数据
clinet.write('/data/a.txt',data='3,lisi,20\n',encoding='utf-8',append=True)

3、定时执行

3.1、使用oozie(不重复写)

3.2、使用Linux自带

crontab -e 编辑添加定时任务
crontab -l 查看定时任务
crontab -r 删除定时任务

你可能感兴趣的:(hadoop,python,大数据,etl工程师)